2017-03-04 10 views
0

enter image description hereGridCell UWPのチェックボックスの場所のスタイルを書き込む方法は?

ターゲットタイプをチェックボックスに設定して、グリッドセルに配置されたチェックボックスのスタイルを記述しようとしましたが、フィルタチェックボックスのスタイルも適用されています。誰も私にグリッドセルのチェックボックスのスタイルだけを書くように提案することができます。私は代わりに私が

<Page.Resources> 
     <Style TargetType="CheckBox"> 
      <Setter Property="Background" Value="Red"/> 
     </Style> 
    </Page.Resources> 
    <Page.DataContext> 
     <local:ViewModel/> 
    </Page.DataContext> 
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
     <my:SfDataGrid ItemsSource="{Binding Orders}" AllowFiltering="True" /> 
    </Grid> 
+0

あなたがしようとしているもののいくつかのコードを投稿してくださいもらえますか? *すべての質問がコードを含めることで利益を上げるとは限らない。しかし、あなたの問題があなたが書いたコードであるならば、あなたはいくつかを含めるべきです。しかし、あなたのプログラム全体をコピーするだけではありません!* http://stackoverflow.com/help/how-to-ask –

+0

それは非常に奇妙です。私は私の側でテストするためにあなたのコードを使用しました。私の側には何の影響もありません。セル内またはfilterControl内のチェックボックスに関係なく、それらはすべて赤い背景を持ちません。 – Skyblue

答えて

0

あなたはColumnプロパティを使用する必要があり、このようで、それを試してみましたすべての

に適用するのグリッドセルにロードされたチェックボックスのスタイルを書く必要があり、上記 添付された画像を見つけてください。 DataGridCellであり、そのDisplayIndexの値を確認し、DataTriggerと書いてください。

サンプルアプローチ:

<DataGrid ...> 
     <DataGrid.Resources> 
      <Style TargetType="CheckBox"> 
       <Setter Property="Background" Value="Green"/> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding Column.DisplayIndex, RelativeSource={RelativeSource AncestorType=DataGridCell, Mode=FindAncestor}}" Value="0"> 
         <Setter Property="Background" Value="Red"/> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </DataGrid.Resources> 
    </DataGrid> 
+0

こんにちはAnjum、私のクエリを見ていただきありがとうございます、あなたはUWPでこのクエリの提案を共有してください。 – James

0

[OK]をクリックします。 @BalamuruganR簡単なコードサンプルを作成しました。 GridTemplateColumnを使用し、カスタムスタイルに "x:Key"を指定します。次のコードサンプルを確認してください:

<Page.Resources> 
    <Style x:Key="CheckBoxStyle1" TargetType="CheckBox"> 
     <Setter Property="Background" Value="Red" /> 
    </Style> 
    <DataTemplate x:Key="cellTemplate"> 
     <CheckBox Content="DataGrid" IsChecked="{Binding Flag}" Style="{StaticResource CheckBoxStyle1}"></CheckBox> 
    </DataTemplate> 
</Page.Resources> 

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 

    <syncfusion:SfDataGrid x:Name="sfGrid" Grid.Column="0" 
           AllowGrouping="True" 
           AutoExpandGroups="True" 
           ShowGroupDropArea="True" 
           AllowEditing="True" 
           AllowFiltering="True" 
           AutoGenerateColumns="False" 
           ItemsSource="{Binding UserDetails}"> 
     <syncfusion:SfDataGrid.Columns> 
      <syncfusion:GridTextColumn MappingName="UserId" /> 
      <syncfusion:GridTextColumn MappingName="Name" /> 
      <syncfusion:GridDateTimeColumn MappingName="DateofBirth" /> 
      <syncfusion:GridNumericColumn MappingName="ContactNo" /> 
      <syncfusion:GridTemplateColumn MappingName="Flag" CellTemplate="{StaticResource cellTemplate}" /> 
     </syncfusion:SfDataGrid.Columns> 
    </syncfusion:SfDataGrid> 
</Grid> 

enter image description here

+0

HI Anjum、提供されたコードサンプルで、スタイルはセル内の全コンテンツに適用されます。しかし、私の質問は、セル全体ではなく、チェックボックスのスタイルだけを適用することです。 – James

関連する問題