首页 新闻 会员 周边 捐助

WPF DataTemplate

0
悬赏园豆:160 [已关闭问题] 关闭于 2013-10-22 11:29

一个普通窗体中有个树,数据源类型是我自己定义的类People

    <TreeView x:Name="filterTreeView">
        <TreeView.Resources>
            <DataTemplate DataType="{x:Type local:People}">
                <Grid MouseLeftButtonDown="Grid_MouseLeftButtonDown">
                    <TextBlock Text="{Binding Name}"/>
                </Grid>
            </DataTemplate>
        </TreeView.Resources>
    </TreeView>

Grid单击事件Grid_MouseLeftButtonDown弹出一个普通窗体,但是弹出窗体没有在当前窗体的前面,请问大家这个问题该怎么解决啊?

yanzhe的主页 yanzhe | 菜鸟二级 | 园豆:213
提问于:2013-10-21 12:00
< >
分享
所有回答(6)
0

请说详细一点,上图,多贴一点代码.

悟行 | 园豆:12559 (专家六级) | 2013-10-21 12:47
<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:control="clr-namespace:WpfApplication1.Controls"
                    xmlns:local="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="200" Width="300">
    <TreeView x:Name="filterTreeView">
        <TreeView.Resources>
            <DataTemplate DataType="{x:Type local:People}">
                <Grid MouseLeftButtonDown="Grid_MouseLeftButtonDown">
                    <TextBlock Text="{Binding Name}"/>
                </Grid>
            </DataTemplate>
        </TreeView.Resources>
    </TreeView>
</Window>


        private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Window1 win = new Window1();
            win.Show();
        }

代码就这么简单

支持(0) 反对(0) yanzhe | 园豆:213 (菜鸟二级) | 2013-10-21 13:26
0

好像有个 TopMost 属性可以设置

Yu | 园豆:12990 (专家六级) | 2013-10-21 12:55

TopMost是将界面永久性置前,不是我想要的

支持(0) 反对(0) yanzhe | 园豆:213 (菜鸟二级) | 2013-10-21 13:25
0

你应该贴Grid_MouseLeftButtonDown这段代码。不知道你这个是不是模态状态。

幻天芒 | 园豆:37207 (高人七级) | 2013-10-21 13:26
0

  win.ShowDialog();

幕三少 | 园豆:1384 (小虾三级) | 2013-10-21 16:34

这样的话,只有当弹出窗体关闭后,主窗体才能操作

支持(0) 反对(0) yanzhe | 园豆:213 (菜鸟二级) | 2013-10-21 17:40
0

设置弹出窗口获得焦点

BoyLife | 园豆:18 (初学一级) | 2013-10-21 22:14

获取焦点也不可以,你可以试试

支持(0) 反对(0) yanzhe | 园豆:213 (菜鸟二级) | 2013-10-22 10:22
0

找到问题原因了,因为Grid的MouseLeftButtonDown的事件弹出窗体之后,还会触发主窗体TreeView的SelectedItemChanged事件,所以在TreeView的SelectedItemChanged事件里弹出就可以了

yanzhe | 园豆:213 (菜鸟二级) | 2013-10-22 11:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册