0
模板的rowHeader和的columnHeader如何創建一個模板的rowHeader,的columnHeader,和細胞的網格?在DataGrid中在Silverlight
視圖模型可以對的rowHeader項目顯示,爲的columnHeader項目顯示對象的列表對象的列表。基本上把它想象成矩陣顯示。
可能是一個控件模板需要編寫,但運行的想法。關於此功能的文檔並不多。
任何想法?
模板的rowHeader和的columnHeader如何創建一個模板的rowHeader,的columnHeader,和細胞的網格?在DataGrid中在Silverlight
視圖模型可以對的rowHeader項目顯示,爲的columnHeader項目顯示對象的列表對象的列表。基本上把它想象成矩陣顯示。
可能是一個控件模板需要編寫,但運行的想法。關於此功能的文檔並不多。
任何想法?
您可以爲DataGridColumnHeader或DataGridRowHeader創建樣式,並將ContentTemplate設置爲允許綁定Header屬性的DataTemplate。爲此,您需要一個啓用綁定的IValueConverter。
標頭是在Controls.Primitives命名空間:
xmlns:dp="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
風格:
<Style TargetType="dp:DataGridColumnHeader" >
<Setter Property="ContentTemplate" >
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{Binding Converter={StaticResource vcBC}}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
轉換器:
public class BindingConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value.GetType().Name == "Binding")
{
ContentControl cc = new ContentControl();
cc.SetBinding(ContentControl.ContentProperty, value as Binding);
return cc;
}
else return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
轉換器實例:
<yourassembly:BindingConverter x:Key="vcBC"/>
感謝您的迴應,部分幫助,但圍繞這個問題仍然存在很多問題。仍在尋找... – Vin
好的,那麼請問你剩下的問題:-) –