wpf中奇怪的风格行为?
好的,我正在编写一个应用程序,在运行时加载合并字典,以改变外观和行为。当我陷入困境时:我表单上的一些控件对我认为它们必须响应的样式没有反应 我已经尽可能地简化了这个问题,并且提出了一些非常简单的方法,恐怕我忽略了显而易见的流血现象,但无论如何,它是这样的:wpf中奇怪的风格行为?,wpf,styles,mergeddictionaries,Wpf,Styles,Mergeddictionaries,好的,我正在编写一个应用程序,在运行时加载合并字典,以改变外观和行为。当我陷入困境时:我表单上的一些控件对我认为它们必须响应的样式没有反应 我已经尽可能地简化了这个问题,并且提出了一些非常简单的方法,恐怕我忽略了显而易见的流血现象,但无论如何,它是这样的: <Window x:Class="Example.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="h
<Window x:Class="Example.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="100" Width="50">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Green"></Setter>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<StackPanel>
<TextBox Text="1" Name="box1"/>
<TextBox Text="2" Name="box2"/>
<TextBox Text="3" Name="box3"/>
</StackPanel>
</Window>
问题是:为什么第一个文本框不是绿色的?
==>也就是说,设计师将其显示为绿色,但在运行应用程序时,它不再是
我知道解决这个问题的方法是删除合并的dicitonary标记,但是我需要知道如何使用合并的字典来解决这个问题
谢谢 试试这个
<Style TargetType="{x:Type TextBox}">
我不确定这是否有效,但当我遇到样式问题时,我使用
TargetType="{x:Type TextBox}"
合并字典一直都很奇怪,您可以在其中设置任何想要的资源,但它们在运行时只处理资源字典之外的引用
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="StylesDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
唯一的要求是在其他字典中设置资源。不,不是这样,tx无论如何,我已经更改了示例Nope,不是这样,tx无论如何,我已经更改了示例好了,我认为解决方法,因为在文档中声明将它们与内部混合是可以的,当然,由于2个或3个文本框被正确处理!但是,这肯定是解决我问题的办法!德克萨斯州!