MVVM パターンを使用して小さな WPF アプリケーションを作成しています。
ボタンのスタイル リソースをメイン ウィンドウに設定し、それらをビューのボタンに適用したいと考えています。問題は、一部のボタンがトリガー付きのスタイルになっていることです。だから私はこのスタイルを一般的なものから継承したいと思います
ここに私のメインウィンドウコードがあります:
<Window.Resources>
<DataTemplate DataType="{x:Type vm:HomeViewModel}">
<views:HomeView/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:DetailReportViewModel}">
<views:DetailReportView/>
</DataTemplate>
<DataTemplate DataType="{x:Type vm:TransferViewModel}">
<views:TransferView/>
</DataTemplate>
<Style TargetType="{x:Type Button}">
<Setter Property="Margin" Value="5"/>
<Setter Property="MinWidth" Value="30"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Margin" Value="5"/>
</Style>
</Window.Resources>
これが私のビュー/ユーザーコントロールへのボタンXAMLです
<Button Content="Delete" Command="{Binding DeleteReportCommand}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Mode}">
<DataTrigger.Value>
<vm:Mode>Add</vm:Mode>
</DataTrigger.Value>
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding Mode}">
<DataTrigger.Value>
<vm:Mode>Edit</vm:Mode>
</DataTrigger.Value>
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
BasedOn="{StaticResource {x:Type Button} を使用して継承しようとしましたが、機能していないようです (img を参照)
キー名を試してみましたが、同じビューにないため、静的リソースはキー名を見つけられません。また、BasedOn は動的リソースを受け入れていません。不足しているものはありますか?
ありがとうございました