WPF:无法在文本框中删除文件名

时间:2010-08-25 17:44:07

标签: wpf xaml drag-and-drop

我正在尝试将文件放到我的WPF应用程序的文本框中,但它无法正常工作。我相信我有正确的XAML设置,并且PreviewDragOver事件处理程序确实有效 - 只是不是Drop或PreviewDrop。这是有问题的XAML:

<Window x:Class="TableTagCount.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" AllowDrop="True">
<Grid Name="bgGrid" Drop="bgGrid_Drop" AllowDrop="True">
    <Grid.Background>
        <ImageBrush ImageSource="/TableTagCount;component/Images/Sunset.jpg" Stretch="Fill" TileMode="None" />
    </Grid.Background>
    <Button Content="Analyze" Height="23" HorizontalAlignment="Left" Margin="32,91,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click"/>
    <TextBox Height="23"  HorizontalAlignment="Left" Margin="32,43,0,0" Name="textBox1" VerticalAlignment="Top" Width="205"  PreviewDragOver="textBox1_PreviewDragOver" AllowDrop="True" />
    <Label Content="File Name" Height="28" HorizontalAlignment="Left" Margin="32,13,0,0" Name="label1" VerticalAlignment="Top" Width="65" />
</Grid></Window>

请注意,Drop操作适用于我的网格。

另外,如果我的文本框首先处理它,我想阻止Grid处理Drop事件。在我的文本框Drop处理程序中,我将DragEventArg的Handled属性设置为true。这足以阻止事件冒泡到网格吗?

1 个答案:

答案 0 :(得分:1)

首先,我没有在TextBox上看到Drop处理程序。这可能是它不起作用的原因吗? ; - )

其次,是的,将Handled设置为true应该足以阻止冒泡。