2017-01-23 4 views
4

Я хочу поменять свои флажки на красные точки в DataGridCheckBoxColumn datagrid. Таким образом, отмеченные элементы - это красные точки, а непроверенные элементы пустые. Как изменить стиль внутри DataGridCheckBoxColumn?WPF Change DataGridCheckBoxColumn to Red Dots

+0

Ваш вопрос, мне, очень похож на http://stackoverflow.com/questions/1345961/wpf-datagridcheckboxcolumn-custom-style?rq=1 Этот вопрос имеет принятый ответ, отправленный Anvaka. –

+0

В качестве дополнительной заметки, если вы предоставите нам информацию о том, что вы уже искали, и попытались решить вашу проблему, а также опубликовать код, мы обычно можем помочь вам лучше. –

ответ

0

Попробуйте это, оно приспособлено от stackoverflow.com/questions/1345961/, о котором упоминалось в предыдущем комментарии Ansel Faillace.

<DataGrid x:Name="dataGrid" Margin="10" ItemsSource="{Binding}"> 
    <DataGrid.Resources> 
     <Style x:Key="GreenRedCheckBox" TargetType="{x:Type Checkbox}"> 
      <Setter Property="HorizontalAlignment" Value="Center /> 
      <Setter Property="VerticalAlignment" Value="Top" /> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type ToggleButton}"> 
         <Border x:Name="innerBorder"> 
          <Ellipse x:Name="statusLight" 
            Fill="Red" 
            Stretch="Fill" 
            Stroke="Black" 
            HorizontalAlignment="Center" 
            VerticalAlignment="Center" 
            Height="10" 
            Width="10" /> 
         </Border> 
         <Trigger Property="IsChecked" Value="True"> 
          <Setter Property="Fill" TargetName="statusLight" Value="Green" /> 
         </Trigger> 
         <Trigger Property="IsChecked" Value="False"> 
          <Setter Property="Fill" TargetName="statusLight" Value="Red" /> 
         </Trigger> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </DataGrid.Resources> 
    <DataGrid.Columns> 
     <DataGrideCheckBoxColumn ElementStyle="{StaticResource GreenRedCheckBox}" 
           EditingElementStyle="{StaticResource GreenRedCheckBox}" /> 
    </DataGrid.Columns> 
</DataGrid>