WPF включает каталог ресурсов XamlParserException - PullRequest
1 голос
/ 02 июля 2010

У меня есть пользовательКонтроль, как это:

<UserControl x:Class="LoginModule.LoginView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:controls="clr-namespace:UserControls;assembly=UserControls"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

    <UserControl.Resources>
          <ResourceDictionary Source="pack://application:,,,/UserControls;component/Styles.xaml" />
    </UserControl.Resources>

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="30" />
            <RowDefinition Height="40" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="200" />
            <ColumnDefinition Width="200" />
        </Grid.ColumnDefinitions>

        <Label Grid.Row="1" Grid.Column="0" Name="labelLogin" VerticalAlignment="Center">Login:</Label>
        <Label Grid.Row="2" Grid.Column="0" Name="labelPassword" VerticalAlignment="Center">Password:</Label>

        <TextBox Grid.Row="1" Grid.Column="1" Name="textboxLogin" VerticalAlignment="Center"></TextBox>
        <TextBox Grid.Row="2" Grid.Column="1" Name="textboxPassword" VerticalAlignment="Center"></TextBox>

        <Button Grid.Row="3" Grid.ColumnSpan="2" Template="{StaticResource SilverButton}" Height="25" Width="200" Name="buttonLogin" Content="Log In" Click="buttonLogin_Click" />
    </Grid>
</UserControl>

В режиме конструктора все в порядке (стиль работает), все решения построены с успехом. Но когда я запускаю программу с отладкой, я получаю XamlParserException в:

<ResourceDictionary Source="pack://application:,,,/UserControls;component/Styles.xaml" />

с сообщением типа: Не удалось загрузить UserControl или один из его элементов. Не удалось загрузить файл. У меня есть ссылка на UserControl.dll, я не знаю, что происходит.

Спасибо за любую быструю помощь. Kamilos

1 Ответ

1 голос
/ 02 июля 2010

Я думаю, это потому, что вам нужно использовать объединенные словари:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/YourAssembly;component/YourResource.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...