私はWeb開発とWinFormsをWPFに持ってきましたが、私はまだそのコンセプトを手に入れませんでした。 app.xamlで私のアプリケーションの一般的なスタイルを定義することができます。たとえば、このファイルのすべてのリボンコントロールのスタイルを定義しました。一般的なWPFスタイルとResourceDictionaryを組み合わせる
私はMicrosoft Blendを試して、ResourceDictionaryを見つけました。ResourceDictionaryは、WinFormsから知っていたリソースファイル.resxのいくつかのものです。
しかし、私はこれらの2つの概念を混在させることはできません。たとえば、ResourceDictionaryが唯一の子でなければならないため、次のxamlコードは機能しません。
<Application x:Class="Wpf.MyApplication.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
StartupUri="MyMainWindow.xaml">
<Application.Resources>
<!-- Resources scoped at the Application level should be defined here. -->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/RibbonStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<BitmapImage x:Key="IconDokumentNeu" >Images/NewDocument_32x32.png</BitmapImage>
<SolidColorBrush x:Key="LightGrayBrushKey">WhiteSmoke</SolidColorBrush>
</ResourceDictionary>
<Style TargetType="{x:Type ribbon:RibbonWindow}">
<Setter Property="Icon" Value="../time2_32.png" />
<Setter Property="TextOptions.TextFormattingMode" Value="Display" />
</Style>
</Application.Resources>
</Application>
私は本当にコンセプトを得ていないようです。たぶんあなたが私を助けることができます、なぜこれは不可能で、私はResourceDictionaryの隣に一般的なスタイルを使用することができます。
私は知っているが、どのように私は、MSDNの記述からそれを得たが、のResourceDictionaryでスタイルが鍵を持っている必要があります。しかし、私は一般的なスタイルをキーなしで定義して、デフォルトとして有効にしたいと考えています。 –
@René:問題は、マージされた辞書のスタイルと同じTargetTypeのスタイルを追加するとエラーになるということですか? –
私は、リソースディクショナリがキーなしでTargetTypeだけでスタイルをとることは知らなかった。今まで... –