Возможно ли создать CheckBox с тремя состояниями: не установлено, включено, исключено?
Что-то вроде того, что ниже:
Есть свойство специально для этого IsThreeState
MainWindow.xaml
<Grid>
<CheckBox
Content="CheckBox"
HorizontalAlignment="Left"
Margin="0,0,0,0"
VerticalAlignment="Top"
IsThreeState="True"
Indeterminate="CheckBox_Indeterminate"
Checked="CheckBox_Checked"
Unchecked="CheckBox_Unchecked"
/>
</Grid>
MainWindowXaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void CheckBox_Indeterminate(object sender, RoutedEventArgs e)
{
this.Title = "Неопределено";
}
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
this.Title = "Выбран";
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
this.Title = "Не выбран";
}
}
Если нужно с картинками, задаем свой стиль
<Style x:Key="CheckBoxStyle1" TargetType="{x:Type CheckBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<DockPanel>
<Image x:Name="checkBoxImage" Width="16" Height="16"></Image>
<ContentPresenter Margin="4,0,0,0" VerticalAlignment="Center"/>
</DockPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="false">
<Setter TargetName="checkBoxImage" Property="Source" Value="/Images/uncheck.png"/>
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="checkBoxImage" Property="Source" Value="/Images/check.png"/>
</Trigger>
<Trigger Property="IsChecked" Value="{x:Null}">
<Setter TargetName="checkBoxImage" Property="Source" Value="/Images/indeterminate.png"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Возможно, определите свой стиль. Пример:
<Style x:Key="CustomCheckBox" TargetType="{x:Type CheckBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="imageCheckBox" Width="30" Height="30" />
<ContentPresenter VerticalAlignment="Center" />
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="False">
<Setter TargetName="imageCheckBox" Property="Source" Value="..." />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="imageCheckBox" Property="Source" Value="..." />
</Trigger>
<Trigger Property="IsChecked" Value="{x:Null}" >
<Setter TargetName="imageCheckBox" Property="Source" Value="..." />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Источник
Привязку чекбокса нужно сделать к Nullable полю типа bool?
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть папка, в ней есть тхт файлыНазвание тхт файлов таковы test1,test2,test3,test4, также есть и другие тхт файлы, у которых имена такие типа: text1,text2,text3,text4
Очень нужна помощь в заданииЕсть на форме DataGridView, в которую считываются данные из базы данных
Как в событии DoWork сделать два разных обработчика? У меня есть две задачи которые нужно отображать в прогресс-бар