0

这是一个菜鸟问题,但我刚刚意识到,如果我创建一个 UserControl 并选择将它的一些子元素命名为 la -

<UserControl x:Class="UserControls.uControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid x:Name="maingrid">

</Grid>

然后我可以在使用 XAML 的代码隐藏中引用命名元素。所以对于上面的例子我可以写

uControl.mainGrid = new Grid();

我很好奇为什么会这样,更重要的是,我如何安全地封装这些控件。

像往常一样,任何帮助将不胜感激。

4

1 回答 1

2

你想要的是x:FieldModifier属性:

<UserControl x:Class="UserControls.uControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="300" Height="300">
    <Grid x:Name="maingrid" x:FieldModifier="private">
    </Grid>
</UserControl>

出于某种原因,默认值为internal 。你可以在这里阅读更多关于它的信息。

于 2009-03-17T18:18:37.647 回答