MVVMパターンを使用して小さなWPFアプリケーションを作成しています。MVVMのスタイリングボタン
メインウィンドウにボタン用のスタイルリソースをいくつか設定して、それらをボタンに適用してビューに適用したいと考えています。問題は、ボタンの中にはトリガーのあるスタイルがあることです。だから私はここで、一般的な1
からこのスタイルを継承したい私のメインウィンドウのコードです:ここ
<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:継承するタイプボタン}動作するように思われません(IMGを参照してください)
私はキー名で試しましたが、静的リソースは同じビューにないのでキー名を見つけることはできません。 BasedOnは動的リソースを受け入れていません。 私が紛失しているものは何ですか?
あなたは
私はパネルのリソース内側ボタンの框を定義し、同じ問題を抱えているが、私は上記のアプローチが失敗した理由を知っていいだろうapp.xamlするスタイルを移動する必要はありません。 –