小编Aar*_*ite的帖子

WPF单位和代码隐藏

最近我发现WPF支持XAML中的不同测量单位.除了默认DIP,还支持像素,英寸和厘米(据我所知).这允许设计者编写如下的XAML:

<Canvas>
    <Line X1="0cm" X2="3cm" Y1="1cm" Y2="3cm" Stroke="Black"/>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

但是,您无法绑定这些值.想象一下,我们有一个带有Dimension属性的ViewModel,它是一个String,例如"7cm".以下将无效:

<Button Width="{Binding Dimension}">Test</Button>
Run Code Online (Sandbox Code Playgroud)

抛出FormatException.同样,FrameworkElement在代码隐藏中创建时,如下所示:

Canvas1.Children.Add(new Button() { Width = "3cm", Content = "Test"});
Run Code Online (Sandbox Code Playgroud)

编译失败,因为在构造函数/尝试创建控件的任何地方抛出异常.

我想知道:

  • 在代码隐藏中是否可以使用自然单位(在我的情况下是公制 - 厘米)?
  • 怎么样?
  • 是否有完整的WPF/XAML支持的单位列表?

编辑:

以下是评论中的链接,可解决此问题:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.width.aspx

wpf xaml units-of-measurement density-independent-pixel

14
推荐指数
1
解决办法
3373
查看次数

将表单移动到指定的屏幕

我试图弄清楚如何将指定的System.Windows.Forms.Form移动到另一个主屏幕上.我有可用屏幕列表的ComboBox,用户可以选择他喜欢的任何一个屏幕,我的应用程序应该将其中一个窗口移动到该屏幕上.

我的笔记本电脑上只有一个屏幕,没有外接显示器,所以我电脑上的ComboBox只提供一个选项.我认为最小化所需的窗口,将其左侧角移动到所选屏幕的边界并且最大化将完成工作,对吧?我只是无法测试它.这是一个好方法吗?

提前致谢!

.net c# window screen winforms

8
推荐指数
1
解决办法
6676
查看次数