从用户控件发送字符串到应用程序页面

时间:2013-09-25 09:18:57

标签: c# silverlight user-controls windows-phone

点击按钮后,我需要从usercontrol向应用程序页面发送一个字符串(TextBlockName.Text)。

申请页面XAML:

<ListBox x:Name="lstFlags">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <local:ListItem />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

UserControl“ListItem”с#code:

public partial class ListItem : UserControl
{
    ...
    private void Button_Click(object sender, RoutedEventArgs e)
    {
    }
}

用户控制Xaml:

<Button Click="Button_Click">
    <TextBlock Name="TextBlockName" Text="{Binding ShortName}" />
</Button>

因此。我认为有必要在点击按钮时在应用程序页面中生成事件。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我认为您在这里要问的是如何将textblock1.Text(例如)值发送给后面的代码。

从外观上看,您使用数据绑定来绑定数据,但您还有一个Button_Click事件。

通常我会使用其中一个(除非我正在做一些复杂的事情),如果你只想从Text获得TextBlock值,那么你可以这样做:

<TextBlock Name="textBlockName" Text="{Binding ShortName}" Mode="TwoWay">

Mode="TwoWay" ensures that the value of the Text Block gets sent to and from the code-behind object, in this case called ShortName and to the TextBlock.Text`。

另一种方法是简单地创建一个您已经拥有的Button click事件。在Button Click事件中,只需执行以下操作:

string myString = textBlock1.Text;

正如您所猜测的那样,只需获取Text textBlock属性中的字符串值,并将其放在myString对象中。

- 作为重要提示,您应尽量详细说明,以确保查看您问题的人能够理解并为您提供帮助。