【发布时间】:2011-09-08 23:26:23
【问题描述】:
我正在开发的应用程序中有一个 TextBox,并且绑定是在 xaml 中完成的
我希望能够在 TextBox 文本属性的绑定完成时引发一个事件,这意味着当文本通过绑定到 TextBox 被加载/更改时我如何实现这一点?
我尝试了 TextChanged 事件也加载了事件,但在绑定完成后没有运气,我该怎么做?
<ListBox x:Name="listBoxCategories" Background="Transparent" BorderThickness="0" Grid.Row="4" Grid.ColumnSpan="2" Margin="0" Padding="0" ItemContainerStyle="{StaticResource ListBoxItemStyle}" ItemsSource="{Binding ElementName=discussion_categoryDomainDataSource, Path=Data}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="stackPanelCategory" Orientation="Vertical" Margin="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBlock x:Name="TextBlockCategoryId" Text="{Binding Path=CategoryID}" />
<toolkit:Expander IsExpanded="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Style="{StaticResource ForumExpanderStyleRight}">
<toolkit:Expander.Header>
<TextBlock FontSize="16" FontWeight="Bold" Foreground="White" Margin="4,0,4,0" Text="{Binding CategoryName}" LayoutUpdated="TextBlock_LayoutUpdated" />
</toolkit:Expander.Header>
<ListBox x:Name="listBoxBoards" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Transparent" BorderThickness="0" Margin="0" Padding="0" ItemContainerStyle="{StaticResource ListBoxItemStyle}" ItemsSource="{Binding CategoryBoards}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="0" HorizontalAlignment="Stretch" x:Name="GridBoard">
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</toolkit:Expander>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在这一行
<TextBlock x:Name="TextBlockCategoryId" Text="{Binding Path=CategoryID}" />
我想要一个事件,当绑定完成时,我想为父堆栈面板下的列表框提供不同的数据源,所以我需要绑定事件,所以当我在文本块中有分类 ID 时,稍后将隐藏在 xaml 中(现在由于测试原因没有折叠)
【问题讨论】:
-
我有一个文本框,我将它绑定在数据模板的列表框中,当通过绑定设置文本框文本时,我希望能够引发事件或者如果有绑定完成事件我想用其他控件做其他事情,但首先我希望当这个文本框 Text 属性通过绑定填充时会引发一个事件,该事件表明这个文本属性已更改(我尝试了 Loaded 和 textChanged 事件,但它不起作用当我加载 UI 冻结时,我想要什么,当使用 TextChanged 时,它不会在绑定时引发事件,而是稍后
标签: silverlight events xaml binding raise