我有Panel
Width
可以在运行时调整大小:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="770*"/>
</Grid.ColumnDefinitions>
<panels:NavigationPanel x:Name="cmBar" Margin="2,2,0,2"
HorizontalAlignment="Left" Width="220"/>
<panels:DetailAreaPanel x:Name="detailGrid" Margin="224,2,2,2" />
</Grid>
当程序关闭时,我想在注册表中保存新的Width
。因此程序下次打开时会加载到相同的大小。我除了Width
之外都有其他工作,除非我对新Width
进行硬编码。所以我认为我的保存是错误的。
all[5] = cmBar.ActualWidth.ToString();
all[]
写入注册表。无论面板如何调整大小,cmBar.ActualWidth总是220.任何想法?
答案 0 :(得分:0)
HorizontalAlignment =“Stretch”将允许控件的大小为其父级。 “左”只是自身的大小,并在其右侧留下空白空间。
答案 1 :(得分:0)
Aviad P.有一个正确的.Width
是导致问题的原因。解决方法是当我加载宽度以将其加载为.MaxWidth
这将调整大小但允许.ActualWidth
具有面板的实际宽度。
答案 2 :(得分:-1)
表示Width="220"
的小部分将宽度设置为220,除非从代码隐藏中明确更改,否则不会更改。您是否在代码隐藏中更改了面板的宽度?如果不是 - 那么它的宽度确实不会改变,并且在其整个生命周期内保持在220.