<ResourceDictionary
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/interactivedesigner/2006"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Style TargetType="{x:Type TabControl}">
<Setter Property="Margin" Value="0,5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Button Style="{StaticResource Button}"/>
<Button />
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Grid Name="xGrid">
<Border>
<ContentPresenter/>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="Button" TargetType="{x:Type Button}">
<Setter Property="Background" Value="#FF000000" />
</Style>
</ResourceDictionary>
Ребят, помогите решить задачку. Есть ResourceDictionary (содержание см. выше). Это отдельный файл. В App.xaml все подключено, все нормально.
Проблема заключается в следующем. Если в ResourceDictionary прописать стиль Button (<Button Style="{StaticResource Button}"/>
), то проект не запускается и не выводит ошибки, нет так же исключений. VS выдает только сообщение:
А если без стиля у Button (<Button />
), то все хорошо.
В чем может быть проблема?
EDIT #1:
App.xaml:
<Application x:Class="WpfApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1"
StartupUri="View\MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
EDIT #2:
MainWindow.xaml:
<Window
x:Class="WpfApp1.MainWindow"
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:local="clr-namespace:WpfApp1"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="525"
Height="350"
AllowsTransparency="True"
Background="Transparent"
WindowStyle="None"
mc:Ignorable="d">
<Grid>
<TabControl>
<TabItem Header="jhb">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
</Grid>
</TabItem>
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
<TabItem Header="TabItem" />
</TabControl>
</Grid>
</Window>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Если два раза быстро нажать на кнопку созданую через InlineKeyboardMarkup, то вылетает ExceptionЕсли ожидать ответа, то все работает отлично
Поскольку в WPF так просто менять фон нельзя при установки IsEnabled = false у кнопки, то я сделал свой Стиль и изменил шаблон и указал начальные сеттеры:...