小编Ant*_*ard的帖子

在DLL项目中没有创建WPF窗口?

有没有理由为什么Visual Studio不允许我在DLL项目中创建WPF窗口?

我通过在Application Project中创建一个窗口并将其复制到我的DLL项目来"解决"它.我还发现我可以创建一个UserControl并将基类更改为"Window".

但如果我不得不这样做,那可能是因为我不应该这样做......

wpf dll window

52
推荐指数
3
解决办法
3万
查看次数

合并字典中共享的静态资源

我目前正在研究可以动态应用于我的应用程序的样式和模板字典.在这个"新想要的"动态行为之前,我有几个资源字典,每个样式控件一个,我在App.xaml中合并:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="ColorsDictionary.xaml"/>
            <ResourceDictionary Source="ControlsTemplatesDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

现在,我希望我的应用程序被设置样式,所以我决定将我以前的所有资源合并到一个名为"MyFirstTemplates"的新资源中,并且只将这个字典添加到App.xaml中.

新词典"MyFirstTemplates.xaml":

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">"
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="ColorsDictionary.xaml"/>
        <ResourceDictionary Source="ControlsTemplatesDictionary.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

新的App.xaml:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="MyFirstTemplates.xaml"/>
        </ResourceDictionary.MergedDictionaries>
        <Style TargetType="{x:Type Window}"/>
    </ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

注意:Window的默认样式是更正WPF 4的错误,请参阅将合并字典添加到合并字典

现在我已经做了这个改变,我不能再使用"ColorsDictionary.xaml"中的颜色资源作为"ControlsTemplateDictionary.xaml"中的StaticResource了.如果我改回到在app.xaml中合并这些文件,一切正常.为了使它工作,我必须为DynamicResource更改这些StaticResource.你知道为什么这不再起作用吗?

谢谢 :-)

wpf merge dictionary staticresource

9
推荐指数
1
解决办法
4162
查看次数

WPF如何使listbox/listview不可聚焦

我一直试图在listbox/listview中显示一些不可聚焦的数据(我的意思不仅是列表,还包括其中的项目).

我尝试了两种类型的列表(listbox和listview),我使用了他们的ItemTemplate和ItemContainerStyle.无论我在哪里,我都将Focusable属性设置为false.

除了禁用列表之外,我没有看到任何其他方式,但是我必须更改其所有样式,以使其显示为未禁用.

我错过了什么吗?是否有我不知道的只读类型的列表?

谢谢你的想法:)

wpf listview listbox focusable

4
推荐指数
1
解决办法
6414
查看次数

WPF:是否有可能使路径大小适应布局大小,但仍然可以拉伸它?

我正在尝试设置TabItem标头的样式,使用路径来定义标头的形状.

我陷入了一个似乎无法解决的问题:

如果我将路径Stretch属性设置为"None",如果我的TabItem标题中的文本很长,它将不会缩放.

如果我将路径Stretch属性设置为"Fill",它会拉伸太多,以至于每个TabItem标题将与TabControl的宽度相同 - 这意味着每行只有一个非常宽的TabItem标题...

你知道一种方法来扩展布局的路径(取决于TabItemHeader内容),但不是更多?

如果有人可以帮助我,我会很高兴...当我正在寻找解决方案时,这很烦人.

谢谢 :-)

wpf layout path stretch

3
推荐指数
1
解决办法
3926
查看次数

标签 统计

wpf ×4

dictionary ×1

dll ×1

focusable ×1

layout ×1

listbox ×1

listview ×1

merge ×1

path ×1

staticresource ×1

stretch ×1

window ×1