5

「MyCheckBoxStyle」という名前のCheckBoxカスタムスタイルがあるとします。

MyCheckBoxStyleに基づいてカスタムDataGridCheckBoxColumnスタイルを埋め込むDatagridスタイルを作成するにはどうすればよいですか?

4

4 に答える 4

18

ElementStyle属性で定義されたスタイルを簡単に使用できます。

リソースで定義されているスタイル:

<Style x:Key="MyCheckBoxStyle" TargetType="{x:Type CheckBox}"> ... </Style>

そして私のデータグリッドチェックボックス列:

<DataGridCheckBoxColumn ElementStyle="{StaticResource MyCheckBoxStyle}" Binding="{Binding someValue}" />
于 2013-02-10T19:11:39.783 に答える
4

これを試して

<DataGridCheckBoxColumn MinWidth="100"
               Binding="{Binding Path=BoolValue}"
               Header="Bool Column"
               IsThreeState="True">
                <DataGridCheckBoxColumn.ElementStyle>
                    <Style TargetType="CheckBox">
                        <Setter Property="Background" Value="{Binding BoolValueColour, Converter={StaticResource MyConverter}}" />    
                    </Style>
                </DataGridCheckBoxColumn.ElementStyle>
 </DataGridCheckBoxColumn>
于 2012-05-23T15:02:21.277 に答える
3

DataGridTemplateColumnを使用して、カスタムのチェックボックス列を作成できます

                                <Custom:DataGridTemplateColumn x:Name="gdchk" Header="Test" MaxWidth="50">
                                <Custom:DataGridTemplateColumn.CellTemplate >
                                    <DataTemplate>
                                        <CheckBox IsChecked="{Binding Path = classname}" HorizontalAlignment="Center" Style="{DynamicResource myCheckBoxStyle}"/>
                                    </DataTemplate>
                                </Custom:DataGridTemplateColumn.CellTemplate>
                            </Custom:DataGridTemplateColumn>

お役に立てれば。

于 2012-05-23T14:27:05.287 に答える
0

私にとっては、次の回避策が見つかるまで機能しませんでした。

<DataGridTemplateColumn
    Header="Skip" Width="18" 
    IsReadOnly="False" CanUserResize="False">
    <DataGridTemplateColumn.CellTemplate >
        <DataTemplate DataType="gfxModule:BatchPairItemModel">
            <CheckBox

                Tag="{Binding}"
                IsChecked="{Binding Tag.Skip, Mode=TwoWay, 
                    RelativeSource={RelativeSource Self}}" 

                Template="{DynamicResource CheckBoxCircleXTemplate}"
                ToolTip="Skip"
             />
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
于 2017-04-25T19:34:30.517 に答える