我有一个带有多个导航页面的WPF应用程序。截至目前,应用程序的高度和宽度在MainWindow和每个页面中声明。 所以这是MainWindow
<Window x:Class="MyApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="My Application" Height="350" Width="725" >
然后每个页面的高度和宽度都如下
<Page x:Class="MyApp.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="350" d:DesignWidth="725"
Title="Page1" >
是否有一个集中的地方,我可以有高度和宽度,而不是在这么多的地方?
答案 0 :(得分:1)
将值保存为资源,然后将每个页面的值绑定到该资源。
编辑:
要将值保存为资源,请在visual studio下的属性窗口中,单击文本框右侧的小框(宽度(和高度)),然后选择Convert To New Resource
。选择Application Resource
并为值指定名称。
为了使用此资源,请设置如下值:
Width = {StaticResource WidthResource}
答案 1 :(得分:1)
请注意,您在Page
中看到的宽度和高度仅适用于设计人员,在编译时会被忽略(通过设置mc:Ignorable="d"
属性)。
否则你可以将宽度和高度存储为资源,但我不确定它是否真的适用于设计师
答案 2 :(得分:1)
<Application x:Class="SubSetOf.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
StartupUri="MainWindow.xaml">
<Application.Resources>
<sys:Double x:Key="SysHeight">100</sys:Double>
<sys:Double x:Key="SysWidth">200</sys:Double>
</Application.Resources>
</Application>
<Page x:Class="SubSetOf.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="{StaticResource SysHeight}"
d:DesignWidth="{StaticResource SysWidth}"
Height="{StaticResource SysHeight}"
Width="{StaticResource SysWidth}"
Title="Page1">
<Grid>
<TextBox Background="pink"/>
</Grid>
</Page>