我從 MaterialDesignInXaml 設定了默認樣式,當我嘗試將資料觸發器添加到控制元件時,它不使用相同的樣式。
如何在使用資料觸發器時仍使用默認樣式?
<TextBox Margin="10" VerticalAlignment="Bottom" Padding="5" materialDesign:HintAssist.Hint="Search">
<TextBox.Style>
<Style BasedOn="{StaticResource MaterialDesignOutlinedTextBox}"> <!--Not Allowed to do this -->
<Setter Property="TextBox.Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=SearchStyle, Path=SelectedItem.Tag}" Value="Search">
<Setter Property="Label.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
uj5u.com熱心網友回復:
您必須指定與基本樣式匹配的確切TargetType值Style。
[...] 如果您創建具有
TargetType屬性的樣式并將其基于也定義TargetType屬性的另一種樣式,則派生樣式的目標型別必須與基本樣式的目標型別相同或派生自該目標型別。
<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource MaterialDesignOutlinedTextBox}">
在源代碼中,MaterialDesignOutlinedTextBox樣式有一個TextBox目標型別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446082.html
