【发布时间】:2011-09-25 04:32:24
【问题描述】:
我已经在我的 xaml 文件中连接了我的按钮单击,然后我想将 StackPanel 中包含的一些文本框绑定到我的集合。
如果我设置了 StackPanel 的 DataContext 按钮点击不再起作用;但是,如果我在每个 TextBox 上设置 DataContext,则单击按钮会像以前一样工作。我不知道为什么...
此标记有效
<StackPanel>
<TextBlock>Product Name</TextBlock>
<TextBox Width="200" DataContext="{Binding Path=ProductCollection, Mode=TwoWay}" Text="{Binding Path=ProductName, Mode=TwoWay}"></TextBox>
<TextBlock>Unit Price</TextBlock>
<TextBox Width="200" DataContext="{Binding Path=ProductCollection, Mode=TwoWay}" Text="{Binding Path=UnitPrice, Mode=TwoWay}"></TextBox>
<Button Margin="20" x:Name="UpdateProduct" Content="Update Product" Command="{Binding AmendProduct}" />
</StackPanel>
此标记不起作用 - 我已将 DataContext 移至堆栈面板。
<StackPanel DataContext="{Binding Path=ProductCollection, Mode=TwoWay}">
<TextBlock>Product Name</TextBlock>
<TextBox Width="200" Text="{Binding Path=ProductName, Mode=TwoWay}"></TextBox>
<TextBlock>Unit Price</TextBlock>
<TextBox Width="200" Text="{Binding Path=UnitPrice, Mode=TwoWay}"></TextBox>
<Button Margin="20" x:Name="UpdateProduct" Content="Update Product" Command="{Binding AmendProduct}" />
</StackPanel>
【问题讨论】:
标签: wpf xaml data-binding