我是WPF的新手,正在開發使用C#和.NET3.5。我有WPFToolkit的DataGrid添加到我的窗口。我無法弄清楚如何將Style設置爲列標題和行?行是動態添加的。如何將樣式設置爲WPFToolkit DataGrid?
<my:datagrid name="myGrid" xmlns:my="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit" itemssource="{Binding }" autogeneratecolumns="False">
SelectionMode="Extended" SelectionUnit="FullRow" CanUserReorderColumns="False"
ColumnHeaderHeight="42" Background="#FFF7F7F7" BorderBrush="Transparent"
HorizontalGridLinesBrush="#FFEAEAEA" VerticalGridLinesBrush="#FFEAEAEA"
HeadersVisibility="Column" RowHeaderWidth="0" HorizontalContentAlignment="Center"
VerticalContentAlignment="Center" ClipboardCopyMode="None" MinRowHeight="28"
Rowremoved="#FFF7F7F7" RowDetailsVisibilityMode="Visible" RowHeight="28"
DataContextChanged="serverGrid_DataContextChanged">
<my:datagrid.columns>
<my:datagridtextcolumn header="Enabled" width="120" binding="{Binding Path=Name}" />
<my:datagridtextcolumn header="Enabled" width="70" binding="{Binding Path=Country}" />
<my:datagridtextcolumn header="Enabled" width="100" binding="{Binding Path=Description}" />
</my:datagrid.columns>
</my:datagrid>
在資源增加了代碼風格:
<!-- DataGridColumnHeader-->
<Style x:Key="ColumnHeaderStyle" TargetType="{x:Type Thumb}">
<setter property="Background" value="#9DCFD0" />
<setter property="FontFamily" value="Arial Rounded MT" />
<setter property="FontSize" value="14" />
<setter property="FontWeight" value="Bold" />
<setter property="Foreground" value="#00545B" />
<setter property="VerticalContentAlignment" value="Center" />
<setter property="HorizontalContentAlignment" value="Center" />
</Style>
在風格TargetType的,我不能夠設置爲my:DataGridColumnHeader
或只是DataGridColumnHeader
。它說「...未找到」。在my:DataGridTextColumn
我猜HeaderStyle
是設置樣式的屬性。但是我能夠爲相同的風格定義。
另外如何設置動態添加行的樣式?我哪裏錯了? 任何幫助是高度讚賞。
與此運行時,而Show(),我在調試中遇到以下錯誤「'DataGridColumnHeader'TargetType與元素'DataGridCell'。」類型不匹配。沒有調試,它只是退出並沒有顯示任何東西。 – Tvd
已將datagrid的'CellStyle'設置爲'DataGridColumnHeaderStyle'?他們顯然是兩個不同的東西。 –
但是目標類型即DataGridColumnHeader不可訪問。我只能訪問我的:DataGrid,DataGridCell,DataGridcellsPanel,DataGridHeaderBorder和DataRow相對於DataGrid - 試圖通過xaml通過typtin「
Tvd