usercontrol打开不同的窗口c#

时间:2017-01-25 22:23:57

标签: c# wpf

你好我在wpf中使用用户控件时遇到了一些问题。我在用户控制中有单个图像。我想把这个用户控件放在我的主窗口,其中包含一些map.i我将这个用户控件(图像)放在我的主窗口上。他们是10 t0 15.我想要的是通过点击这个用户控件来打开不同的窗口只是一个形象。但是当我这样做时,它每次只向我显示相同的窗口。有什么办法所以我只需要创建单个用户控件并多次使用它来打开不同的窗口。像(window1,window2,window3)等。

请帮助我。我真的很感激。

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Demo.WindowsPresentation.CustomMarkers.CustomMarkerDemo"
Height="40" Width="30" Opacity="10">
    <Image MouseDown="clickit" Name="icon" Source="bigMarkerGreen.png" VerticalAlignment="Center" HorizontalAlignment="Center" />

在cs中

this.MouseDown += new MouseButtonEventHandler(clickit);
     void clickit(object sender, MouseButtonEventArgs e)
        {

            MessageBox.Show("test");
            main.show();
        }

1 个答案:

答案 0 :(得分:0)

据我所知,您希望在不同的窗口中打开此UserControl。我建议你创建一个窗口并将此UserControl添加到它上面,如

<Window x:Class="Demo.WindowsPresentation.CustomMarkers.win.winCustomMarker"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:marker="clr-namespace:Demo.WindowsPresentation.CustomMarkers"
        Title="Window" Height="345" Width="380">
    <Grid>
        <marker:CustomMarkerDemo></marker:CustomMarkerDemo>
    </Grid>
</Window>

然后在鼠标点击事件中:

void clickit(object sender, MouseButtonEventArgs e)
{

    winCustomMarker customMarkerWindow = new winCustomMarker();
    //bind any information you want that you want to pass to your inner UserControl
    customMarkerWindow.show();
}