0
我嘗試在切換按鈕的IsChecked屬性發生更改時設置文本塊的內容(如下所示)。我嘗試了多種方式,但無法使其工作。將文本塊的內容設置爲切換按鈕
<ToggleButton VerticalAlignment="Center" Margin="4 0 0 0" Background="{DynamicResource AccentColorBrush}" Name="toggle">
<StackPanel Orientation="Horizontal">
<Rectangle Width="20" Height="20" Fill="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill" Visual="{StaticResource appbar_starwars_jedi}" />
</Rectangle.OpacityMask>
</Rectangle>
<TextBlock x:Name="SimulationToggleButtonText" Margin="4 0 0 0" VerticalAlignment="Center" Text="Start Simulation">
</TextBlock>
</StackPanel>
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Foreground" Value="Green"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="Stop Simulation"/>
<Setter Property="Foreground" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
很好的回答!但我有一個小問題,視覺刷下的靜態資源圖標不顯示。可能是什麼原因。資源圖標在xaml文件中的window.resource下定義。 – Dilberted
@Dedberted:這可能是一個不同的問題。也許你應該嘗試和重現一些較小的代碼來重現這一點,並提出一個新的問題。什麼是'appbar_starwars_jedi'?它是從「Visual」派生的對象嗎? – caesay
它是在定義icons.xaml ResourceDictionary> –
Dilberted