我有幾個按鈕,每個按鈕都實作為UserControl, 在螢屏上,一次只能啟用 1 個。現在,在 中的Rectangle所有按鈕旁邊都有一個側邊欄型別UserControl,它應該只對 1 個按鈕可見,以啟用者為準。嘗試了幾個系結來控制矩形的可見性IsEnabled,但都失敗了。還要準備好能見度轉換器。這是我的代碼:
<Grid>
<Button Style="{StaticResource MenuButtonStyle}" x:Name="BtnUC">
<Button.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="LightGray" Margin="-4,0,0,0">
</Rectangle>
<Viewbox ....
</Viewbox>
</Grid>
</Button.Content>
</Button>
</Grid>
uj5u.com熱心網友回復:
BooleanToVisibilityConverter在范圍內的任何資源中創建轉換器的實體。
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>
然后通過使用元素名稱Visibility將矩形系結到IsEnabled按鈕的屬性。通過指定轉換器,將轉換為和。 BtnUCtrueVisiblefalseCollapsed
<Rectangle Grid.Column="0" Fill="LightGray" Margin="-4,0,0,0"
Visibility="{Binding IsEnabled, ElementName=BtnUC, Converter={StaticResource BooleanToVisibilityConverter}}"/>
或者,如果沒有按鈕名稱,請Button通過RelativeSource.
<Rectangle Grid.Column="0" Fill="LightGray" Margin="-4,0,0,0"
Visibility="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType={x:Type Button}}, Converter={StaticResource BooleanToVisibilityConverter}}"/>
uj5u.com熱心網友回復:
您可以將 aStyle與 a 一起使用DataTrigger,根據 的Visibility屬性Rectangle值設定 的IsEnabled屬性Button:
<Rectangle Grid.Column="0" Fill="LightGray" Margin="-4,0,0,0">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled,RelativeSource={RelativeSource AncestorType=Button}}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446084.html
