2
我有一個從數據庫填充的gridcontrol。另外,在代碼中,我將數據添加到checkeditsettings列。我在xaml中創建了一個模板,但我無法設法在C#中進行轉換。在下面我的代碼,將xaml模板綁定到後面的代碼
XAML代碼:
<dxg:GridColumn FieldName="Select" Fixed="Right" UnboundType="Boolean">
<dxg:GridColumn.EditSettings>
<dxe:CheckEditSettings />
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<local:MyCheckEdit
IsChecked="False"
IsEnabled='True'
Checked="MyCheckEdit_Checked"
EnabledChecked="/Images/mark.png"
EnabledUnchecked="/Images/markk.png"
DisabledUnchecked="/Images/marken.png" >
</local:MyCheckEdit>
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
我迄今爲止嘗試:
GridColumn colselect = new GridColumn();
ComboBoxEditSettings c = new ComboBoxEditSettings();
colselect.EditSettings = c;
DataTemplate template = new DataTemplate();
template.VisualTree = new FrameworkElementFactory(typeof(MyCheckEdit));
template.VisualTree.SetBinding(MyCheckEdit.ContentProperty, new Binding("...?"));
colselect.CellTemplate = template;
我真的堆在這裏。
爲什麼你需要結合在這裏...你爲什麼不只是做template.VisualTree.SetValue(MyCheckEdit.ContentProperty,新MyToggleButton()); – Nitin
你不應該首先這樣做。不要在WPF的程序代碼中創建或操作UI元素。這就是XAML的用途。 –
我認爲最好創建一個從GridControl派生的類。我想這樣做是爲了覆蓋選擇模式和其他事情。我知道這根本不是一個好主意,但我來自Windows Forms背景,對我來說更簡單。但是我肯定會保留xaml代碼。非常感謝你! – Viva