我想知道是否有办法使用动态资源的wpf样式的basedOn属性.例如
<Style BasedOn="{DynamicResource somestyle}">
<Setter Property="SomeProp" Value="SomeValue"/>
</Style>
Run Code Online (Sandbox Code Playgroud)
这例如抛出一个错误,表明不能使用dynamicnources和BasedOn样式.我想知道有人能做到这一点吗?谢谢
我试图弄清楚如何使用适当的对话单元(DLU)在WPF中布局一个简单的对话框.
什么是对话单元?
对话框是基于用户首选字体大小的度量单位.定义一个对话框单元,使得平均字符宽4个对话框单位,高8个对话框单位:
这意味着对话单元:
- 用所选字体更改
- 已选择DPI设置更改
- 不正方形
我花了大约两个小时从Windows Vista中使用各种dlu测量标注这个示例对话框.有人可以给出生成此对话框的相应XAML标记吗?
(图片链接)
现在我承认我对WPF XAML几乎一无所知.每次我开始,我都会受到阻碍,因为我无法弄清楚如何进行任何控制.似乎WPF中的所有内容都必须包含在某种面板中.有StackPanels,FlowPanels,DockPanel,Grid等.如果你没有这些,那么它将无法编译.
到目前为止,我唯一能够提出的XAML(uing XAMLPad):
<DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Image Width="23" />
<Label>Are you sure you want to move this file to the Recycle Bin?</Label>
<Image Width="60" />
<Label>117__6.jpg</Label>
<Label>Type: ACDSee JPG Image</Label>
<Label>Rating: Unrated</Label>
<Label>Dimensions: 1072 × 712</Label>
<Button Content="Yes" Width="50" Height="14"/>
<Button Content="Cancel" Width="50" Height="14"/>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
这是一个华而不实的怪物.没有任何控件放置或尺寸正确.我无法弄清楚如何在窗口中定位控件,也无法正确调整它们的大小.
有人可以将该屏幕截图转换为XAML吗?
注意:您不能测量屏幕截图.指定了所有对话单位(dlu)的宽度和高度.
注意: 1个水平DLU!= 1个垂直DLU.水平和垂直DLU的大小不同.
我需要在我的简单应用程序中添加一个功能 - 允许用户更改整个应用程序的字体大小.这很容易吗?你能给我一些提示如何开始吗?它只需要3个预定义的字体大小,但我想到的第一个也是唯一的解决方案是创建3个不同的主题.有可能使它更简单吗?
我怎样才能增加a的字体,比方说TextBlock呢?我不希望有这样的事情:
<TextBlock FontSize="20">
text
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
因为当用户更改Windows的控件字体大小设置时,它将无法正常工作.我们有类似HTML的东西+VALUE(例如+2)吗?
编辑
这就是我的意思,谈论Windows的设置:

但我收到的答案完全让我满意.