WPF DataGridCheckBoxColumn пользовательский стиль? - PullRequest
0 голосов
/ 28 августа 2009

Есть ли способ установить флажок там? Я пытался определить стиль для флажка, но это не сработало.

после использования крота кажется, что у элемента управления флажка нет ToggleButton, вместо этого он использует BulleDecorator, я не уверен в этом первый раз, когда я использую кроль.

Чего я хочу добиться, так это того, чтобы вместо флажка я хотел красный или зеленый круг.

<Style TargetType="{x:Type CheckBox}">
    <Setter Property="IsHitTestVisible" Value="False"/>
    <Setter Property="Focusable" Value="False"/>
    <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 Fill="#FFFF0000" Stroke="#FF000000" Stretch="Fill" x:Name="statusLight" Width="15" Height="15" Margin="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Border> 
                <ControlTemplate.Triggers> 
                    <Trigger Property="IsChecked" Value="True"> 
                    <Setter TargetName="statusLight" Property="Fill" Value="#FF00FF00" />
                    </Trigger> 
                     <Trigger Property="IsChecked" Value="False"> 
                    <Setter TargetName="statusLight" Property="Fill" Value="#FFFF0000" />
                    </Trigger> 
                </ControlTemplate.Triggers> 
            </ControlTemplate> 
        </Setter.Value> 
    </Setter>
</Style>

Ответы [ 2 ]

6 голосов
/ 08 февраля 2013

Вот как я это сделал:

<Controls:DataGridCheckBoxColumn Header="Homme"  Binding="{Binding Homme}">
      <Controls:DataGridCheckBoxColumn.ElementStyle>
           <Style TargetType="CheckBox" BasedOn="{StaticResource {x:Type CheckBox}}"/>
     </Controls:DataGridCheckBoxColumn.ElementStyle>
</Controls:DataGridCheckBoxColumn>
3 голосов
/ 30 августа 2009

Похоже, вы ищете свойство DataGridBoundColumn.ElementStyle (DataGridCheckBoxColumn является производным от DataGridBoundColumn). Если это не работает для вас, вы всегда можете использовать DataGridTemplateColumn для отображения всего, что вы хотите.

Обратитесь к блогу Винсента Сибала , если вам нужна дополнительная информация по этому вопросу.

...