ToggleButton は「押下された状態」、「押下されていない状態」の他に「不定(どちらでもない)」という状態を表すことができます。
この記事では ToggleButton で3つの状態を使用する方法について説明します。
環境
開発環境 | Microsoft Visual Studio Professional 2019 Preview Version 16.11.0 Preview 3.0 |
Framework | Microsoft .NET Framework Version 4.8.04084 |
その他 | Microsoft.Project Reunion 0.8.0-preview |
Microsoft.ProjectReunion.Foundation 0.8.0-preview | |
Microsoft.ProjectReunion.WinUI 0.8.0-preview | |
Microsoft.UI.Xaml 2.6.1 |
ToggleButton で3つの状態を使用する
ToggleButton で「押下された状態」「押下されていない状態」「不定(どちらでもない)」の3つの状態を使用するには、IsThreeState プロパティに True を設定します。既定では False になっています。
また、IsThreeState = True に設定した ToggleButton は、状態によって Checked イベント(押下された状態)、Unchecked イベント(押下が解除された状態)、Indeterminate イベント(不定状態) のいずれかが発生します。
以下の例は、IsThreeState プロパティに True を設定して3つの状態を使用できるようにし、変化した状態の内容を TextBlock に表示します。
XAML の例
<Window x:Class="WinUISample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:WinUISample" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"> <ToggleButton x:Name="myToggleButton" Content="ToggleButton" IsThreeState="True" Checked="myToggleButton_Checked" Unchecked="myToggleButton_Unchecked" Indeterminate="myToggleButton_Indeterminate"/> <TextBlock x:Name="myTextBlock" /> </StackPanel> </Window>
C# の例
private void myToggleButton_Checked(object sender, RoutedEventArgs e) { myTextBlock.Text = "ToggleButton = ON"; } private void myToggleButton_Unchecked(object sender, RoutedEventArgs e) { myTextBlock.Text = "ToggleButton = OFF"; } private void myToggleButton_Indeterminate(object sender, RoutedEventArgs e) { myTextBlock.Text = "ToggleButton = Null"; }
Please follow and like us:
コメント