我有一个XAML / WPF自定义控件,用于显示项目列表。我最初将此控件宽度设置为自动,因为我希望它重新调整为添加到其中的最宽项目的宽度。
<custom:MyCustomControl ThemeName="MyDefaultTHeme"
x:Name="PART_MyItems"
Height="Auto"
Width="Auto"/>
但是,在运行时,用户可以更改我的自定义控件的ControlTemplate(ThemeName),它会更改项目的外观(图标和文本大小等)。然后,控件将根据项目的宽度更改其宽度,有时可以填满整个屏幕宽度。这是我不想要的。
如何在第一次使用后关闭Width="Auto"
(第一次加载控件)或将宽度设置为初始宽度而不再更改它&gt;
答案 0 :(得分:2)
在更改主题之前,只需调用MyCustomControl.Width = MyCustomControl.ActualWidth,因为您可能有C#代码进行主题切换。这将摆脱汽车。