在xaml视图中访问用户控件子项

时间:2017-03-29 08:27:20

标签: c# xaml user-controls uwp uwp-xaml

我不知道标题和描述我的问题的最好方法,对不起,如果事情不清楚或者我使用了错误的单词,我会尝试:

我有以下用户控件:

<UserControl
x:Class="FormValidationUwp.Controls.ValidatingTextBoxUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<Grid>

    ....

    <TextBox x:Name="MyText"
             TextWrapping="Wrap"
             TextChanged="MyText_OnTextChanged"
             Grid.Row="0"
             Header="{x:Bind Header, Mode=OneWay}"
             PlaceholderText="{x:Bind PlaceholderText, Mode=OneWay}"
             Text="{x:Bind Text,Mode=TwoWay}"
             IsSpellCheckEnabled="{x:Bind IsSpellCheckEnabled, Mode=OneWay}"
             InputScope="{x:Bind InputScope, Mode=OneWay}"
             Style="{x:Bind TextBoxSyle, Mode=OneWay}" />

...
</Grid>

</UserControl>

我在我的观点中使用它:

 <controls:ValidatingTextBoxUserControl x:Name="NameTextBox"
                                           PlaceholderText="Name"
                                           IsMandatory="True"
                                           MandatoryValidationMessage="{x:Bind ViewModel.ErrorMandatory}"
                                           Text="{x:Bind ViewModel.UserBindable.Name, Mode=TwoWay}"
                                           TextBoxSyle="{StaticResource BodyTextBoxStyle}" 
                                           Width="300" />

我想要做的是访问XAML中的文本框额外属性,如下所示:

<controls:ValidatingTextBoxUserControl x:Name="NameTextBox"
                                               PlaceholderText="Name"
                                               IsMandatory="True"
                                               MandatoryValidationMessage="{x:Bind ViewModel.ErrorMandatory}"
                                               Text="{x:Bind ViewModel.UserBindable.Name, Mode=TwoWay}"
                                               TextBoxSyle="{StaticResource BodyTextBoxStyle}" 
                                               Width="300" >
            <ValidatingTextBoxUserControl.MyText x:Name="NameTextBox"
                                               Placeholder="Name"
                                               Text="aaa">                
            </ValidatingTextBoxUserControl.MyText>
        </controls:ValidatingTextBoxUserControl>

有可能吗?如果是的话,我该怎么做? 非常感谢,随时建议/编辑我的帖子,以使其更清晰。

P.S。 而不是像我已经做过的那样把我的问题投下来,如果你读过我已经解释过我不知道更好的解释方法,请随意评论一些建议

0 个答案:

没有答案