gpt4 book ai didi

c# - 触摸 WPF 中的 Bug?

转载 作者:太空狗 更新时间:2023-10-29 22:00:50 25 4
gpt4 key购买 nike

我做了以下申请(作为测试)

XAML:

<Window x:Class="GUITest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Background="Transparent">
<TextBlock Text="openDialog" Background="Red" HorizontalAlignment="Center" VerticalAlignment="Top" MouseDown="TextBlock_MouseDown" />
</Grid>
</Window>

C#:

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();

Nullable<bool> result = dlg.ShowDialog();

if (result == true)
{
Console.Out.WriteLine(dlg.FileName);
}
}
}

我捕获了 mouseDown 事件,因为它捕获了鼠标按钮按下事件和触摸事件。该代码具有鼠标单击的预期行为。触摸给我带来了一些麻烦。

如果我触摸 TextBlock,它会按照要求打开一个对话窗口。关闭它后,窗口上的任何触摸都会打开对话框窗口,即使触摸不在 TextBlock 上也是如此。

这是一个错误吗?我可以解决这个问题吗?

编辑:我发布了一个解决方法,实际修复仍然有用

最佳答案

对于遇到同样问题的其他人。这不是解决问题的方法,但它是一种解决方法。我使用了一个按钮并将其重新设计为看起来像一个 TextBlock

XAML:

<Grid Background="Transparent">
<Button HorizontalAlignment="Left" VerticalAlignment="Top" Click="Button_Click" Content="openDialog">
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentPresenter />
</ControlTemplate>
</Button.Template>
</Button>
</Grid>

Button_Click 的代码与 TextBlock_MouseDown 相同

关于c# - 触摸 WPF 中的 Bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com