Я пытаюсь добавить глобальный стиль в мое приложение.После добавления раздела в мой App.xaml я получаю непонятное исключение времени выполнения:
Произошло необработанное исключение типа 'System.IO.IOException' в PresentationFramework.dll. Не удается найти ресурс 'views / views /createjob.xaml '.
Во время разработки я вижу, что мои стили правильно применяются на панели дизайна / предварительного просмотра в Visual Studio.
Большинство примеров, которые я используюпри просмотре в Интернете показывается свойство Key, устанавливаемое для стиля, с явной ссылкой на каждое окно, которое его использует.Я ищу что-то глобальное, т.е. мне не нужно идти через мою кодовую базу и каждый раз явно ссылаться на стиль.
Full App.xaml
<Application x:Class="TestApp.Views.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestApp"
StartupUri="Views/CreateJob.xaml">
<Application.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
</Application.Resources>
Полный CreateJob.xaml
<Window x:Class="TestApp.Views.CreateJob"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TestApp"
mc:Ignorable="d"
Title="CreateJob" Height="450" Width="800">
<StackPanel Orientation="Horizontal">
<Label Content="Name"/>
<TextBox/>
</StackPanel>
Полный CreateJob.xaml.cs
using System.Windows;
namespace TestApp.Views
{
/// <summary>
/// Interaction logic for CreateJob.xaml
/// </summary>
public partial class CreateJob : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
Полный App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>