Je suis venu du développement web et de WinForms à WPF et peut-être que je n'ai pas encore eu le concept. Je suis capable de définir des styles généraux pour mon application dans le fichier app.xaml. Par exemple j'ai défini le style pour tous mes contrôles de ruban dans ce fichier.Mélange de styles WPF généraux avec ResourceDictionary
Ensuite, j'ai essayé Microsoft Blend et est tombé sur ResourceDictionary, qui est une sorte de Resource File .resx que je connaissais de WinForms.
Mais comme je vois, il n'est pas possible de mélanger ces deux concepts. Par exemple, le code xaml suivant ne fonctionnera pas car ResourceDictionary doit être le seul enfant.
<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>
Il semble que je n'ai pas vraiment compris le concept. Peut-être que vous pouvez m'aider, pourquoi cela n'est pas possible et comment je peux utiliser les styles généraux à côté de ResourceDictionary.
Je sais, mais comment je l'ai obtenu des descriptions MSDN, les styles dans un ResourceDictionary doit avoir une clé. Mais je veux définir des styles généraux sans clé afin qu'ils soient activés par défaut. –
@ René: Le problème est donc que vous obtenez une erreur si vous ajoutez un style avec le même TargetType comme style dans le dictionnaire fusionné? –
Non. Je ne savais tout simplement pas que le dictionnaire de ressources utilise des styles avec juste un TargetType sans clé. Jusqu'à maintenant... –