我试图TextBlock
用ListBox
鼠标左键单击某个项目中的文本来更新该文本。
我的C#代码:
private void listBox_MouseDown_rem(object sender, MouseButtonEventArgs e)
{
if (pathListB.SelectedItem != null)
{
rem_block.Text = pathListB.SelectedValue.ToString();
}
}
XAML:
<ListBox Name="pathListB" PreviewMouseLeftButtonDown="listBox_MouseDown_rem" HorizontalAlignment="Left" Height="246" Margin="10,10,0,0" VerticalAlignment="Top" Width="491"/>
<TextBlock Name="rem_block" HorizontalAlignment="Left" Margin="10,261,0,0" TextWrapping="Wrap" Text="Select Item to Remove" VerticalAlignment="Top" Height="20" Width="411"/>
现在,所有这些操作都可以实现预期的效果,除了当我选择一个ListBoxItem
(在其他地方填充了一个循环ListBox
)时,它仅会在下次单击鼠标时更新为以前的值,因此始终为“迟到”。
因此,例如,我的列表框包含以下项目:
Sentence 1
Sentence 2
Sentence 3
我将点击“句子1”,但我TextBlock
没有改变。我单击“句子3”,并TextBlock
更新为“句子1”等。它始终更新为以前的值。
在PreviewMouseDown上,ListBox项尚未更改。请改用PreviewMouseUp事件,该事件将在项目已更改时触发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句