我想動態地創建元素,所以我使用C#代碼behide來創建控件。如何動態創建元素並將其綁定到WPF中?
單選按鈕已創建,我想綁定一些元素(在這種情況下,我使用按鈕)。
這是我的源代碼
/*創建單選按鈕*/
RadioButton secondaryRadio = new RadioButton()
{
Name = "secondaryRadio_" + orderOfTransport + "_" + orderOfSubTransport,
GroupName = "Transport_" + orderOfTransport + "_" + orderOfSubTransport,
IsChecked = false,
};
/*創建綁定對象*/
Binding userChoice2 = new Binding("IsChecked")
{
ElementName = "secondaryRadio_" + orderOfTransport + "_" + orderOfSubTransport,
};
/*創建按鈕,並結合*/
Button outBoundButton = new Button()
{
Content = "Select",
Name = "inb_button_" + orderOfTransport + "_" + orderOfSubTransport,
};
outBoundButton.SetBinding(Button.IsEnabledProperty, userChoice2);
and this i s從輸出窗口獲得
找不到與參考文獻綁定的來源 'ElementName = secondaryRadio_1_0'。 BindingExpression:路徑=器isChecked; DataItem = null;目標元素是'Button'(Name ='inb_button_1_0'); 目標屬性是「的IsEnabled」(類型「布爾」)
我沒有什麼錯此綁定?我可以使用超過1次的綁定對象嗎?
您的幫助非常感謝:d
您的綁定錯誤告訴您綁定無法在UI中的任何位置找到名爲'「secondaryRadio_1_0」'的元素。該單選按鈕是在創建後添加到用戶界面的嗎?其他要檢查的事情是單選按鈕存在於Button可以訪問的VisualTree中的某處,並且您可能需要確保單選按鈕在綁定被評估之前被呈現。 – Rachel 2013-04-25 19:59:51
'我爲這個綁定做錯了什麼?' - 一切。不要在代碼中創建或操作UI元素。 WPF不是winforms。學習MVVM。 - 免責聲明:對於粗魯無禮和爲人坦率,我只是在聽Pantera。 – 2013-04-25 19:59:58
爲Pantera +1,而不是無禮! – flq 2013-04-25 20:04:03