Стили XAML в Silverlight не распознаются - PullRequest
0 голосов
/ 13 августа 2010

Я пытаюсь создать файл Syles.xaml для моего тестового приложения Silverlight. Вот что у меня в файле App.xaml:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
             xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
             x:Class="MVCSilverlight.App"
             >
    <Application.Resources>
        <Style x:Key="NavigationContainerStyle" TargetType="StackPanel">
            <Setter Property="Background" Value="Black" />
            <Setter Property="Orientation" Value="Horizontal" />
            <Setter Property="Height" Value="50" />
            <Setter Property="Width" Value="500" />
        </Style>
    </Application.Resources>
</Application>

Проблема в том, что когда я включаю это в приложение, VS2010 не распознает его, И когда я запускаю приложение, оно не отображается, потому что при попытке найти имя / значение ресурса возникают ошибки. Вот пример того, как он используется:

<StackPanel Style="{StaticResource NavigationContainerStyle}">
</StackPanel>

Я также пытался поместить стили в файл и включить его в app.xaml, но это тоже не сработало.

Может кто-нибудь подсказать мне, почему это происходит?

1 Ответ

2 голосов
/ 13 августа 2010

Этот XAML выглядит так, как будто он должен работать нормально до тех пор, пока приложение все еще задано в качестве объекта запуска в настройках проекта, а InitializeComponent () по-прежнему вызывается в App.xaml.cs.

Если вы помещаете стили в файл Styles.xaml, вам потребуется использовать словарь объединенных ресурсов , чтобы объединить его либо с ресурсами приложения, либо непосредственно с ресурсами UserControl, где вы собираетесь использовать это.

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...