Wpf 打开windows对话框的切换按钮
我有一个这样的切换按钮:Wpf 打开windows对话框的切换按钮,wpf,xaml,Wpf,Xaml,我有一个这样的切换按钮: <ToggleButton Name="loadSlideTitle" IsChecked="{Binding SlideTitleLoaded, Mode=OneWay}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Grid.RowSpan="1" Background="Transparent" Command="{Binding DataContext.L
<ToggleButton Name="loadSlideTitle" IsChecked="{Binding SlideTitleLoaded, Mode=OneWay}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" Grid.RowSpan="1" Background="Transparent" Command="{Binding DataContext.LoadSlideTitleCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=ListView}}">
<ToggleButton.Template>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid RenderTransformOrigin="0.5,0.5" x:Name="bg">
<Image x:Name ="loadSlideTitle_image" Source="/Import_TitleImport.png"/>
</Grid>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsChecked" Value="False" />
</MultiTrigger.Conditions>
<Setter TargetName="loadSlideTitle_image" Property="Source" Value="/Import_TitleImport_Mouseover.png"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="False" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="loadSlideTitle_image" Property="Source" Value="/Import_TitleDelete.png"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="loadSlideTitle_image" Property="Source" Value="/Import_TitleDelete_Mouseover.png"/>
</MultiTrigger>
<Trigger Property="ButtonBase.IsPressed" Value ="True">
<Setter TargetName="bg" Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.9" ScaleY="0.9"/>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
问题是,我一单击按钮,它就会切换并更改图像,然后弹出windows对话框。我希望仅当用户选择正确的文件并关闭对话框时,才切换按钮
通过使用普通按钮和“Slide_1_6”模型上的INotifyPropertyChange,我已经可以实现所需的行为。但是,我想纯粹在xaml中实现它。尝试使用您的ToggleButton的Tag属性。例如:如果选择了文件,则将标记属性设置为“1”,否则设置为“0”。 使用Style.Triggers,您可以检测到更改 具有按钮背景的示例
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="Tag" Value="1">
<Setter Property="Background" Value="Red" />
</Trigger>
<Trigger Property="Tag" Value="0">
<Setter Property="Background" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
当您将标记值更改为“1”或“0”时,背景应更改。尝试使用您的ToggleButton的Tag属性。例如:如果选择了文件,则将标记属性设置为“1”,否则设置为“0”。 使用Style.Triggers,您可以检测到更改 具有按钮背景的示例
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="Tag" Value="1">
<Setter Property="Background" Value="Red" />
</Trigger>
<Trigger Property="Tag" Value="0">
<Setter Property="Background" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
将标记值更改为“1”或“0”时,背景应更改