私は自分のアプリケーションの赤いボタンの束を持っているので、代わりにそのためにどこでもスタイルを定義するので、私は私のApp.xamlアプリケーション
<Application.Resources>
<Style x:Key="RedButton" TargetType="{x:Type Button}">
<Setter Property="Background" Value="#FF830722" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontWeight" Value="Bold" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Application.Resources>
でこれを置きますデータバインディングを介してアプリケーションの特定の赤いボタン。デザインビューで正しく表示されているようです。
<Button Style="{StaticResource RedButton}" Content="Search" Height="23" HorizontalAlignment="Left" Margin="449,13,0,0" Name="searchButton" VerticalAlignment="Top" Width="75" Click="searchButton_Click" />
<Button Content="Add Item(s)" Margin="0,0,12,12" Name="addProductButton" Height="23" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="108" Click="addProductButton_Click">
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource RedButton}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=searchDataGrid, Path=SelectedIndex}" Value="-1">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
私はアプリケーションを実行すると、私はこのエラーメッセージを取得:
がSystem.Windows.StaticResourceExtension 'に値を指定しては '' 例外をスローしました。'行番号「25」および行位置「140」。
StaticResourceを見つけるのに問題があると思います。 xmlnsを追加する必要がありますか?
編集: これは3つの主要プロジェクトを持つプリズムアプリケーションです。
- シェル は - OrderModuleへの参照とインフラストラクチャを持っている
- OrderModule は - インフラへの参照を持っている
- インフラ
私は」ボタンを持っているユーザーコントロールスタイルを使用しようとすると、OrderModuleプロジェクトにあります。 私が使用していない最初のボタンの上に
このエラーインフラプロジェクトにリソースディクショナリを作成し、App.xaml(暗闇の中でショットの一種)とそれを統合しようとするために出て行きますよに基づく。 InnerExceptionは
「RedButton」という名前のリソースが見つかりません。リソース名は、大文字と小文字が区別されます。
あなたのコードは自分の環境で動作しています。 FallbackValueをBindingに提供し、変更があった場合は報告できますか? – Markus
あなたの精度のおかげで、私は私の答えを削除しました。それはもう使用していないので、私はこれが間違いなく正しい方向に進んでいると思います。WPFは明らかに特定の時間にスタイルを読み込む問題があります。私はそれを見ているように、問題の – David