WPF - هل يمكنني إيقاف UserControl عن كشف العناصر التابعة له؟

StackOverflow https://stackoverflow.com/questions/655265

سؤال

هذا سؤال مستجد إلى حد ما ولكني أدركت للتو أنه إذا قمت بإنشاء UserControl واخترت تسمية بعض عناصره الفرعية على النحو التالي -

<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();

أشعر بالفضول لمعرفة سبب حدوث ذلك، والأهم من ذلك، كيف يمكنني تغليف عناصر التحكم هذه بأمان.

كالعادة، أي مساعدة ستكون موضع تقدير حقًا.

هل كانت مفيدة؟

المحلول

ما تريده هو 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>

الافتراضي هو داخلي, ، لسبب ما.يمكنك قراءة المزيد عنها هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top