Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可能更改代码隐藏中的控件类型_C#_Windows Phone 7_Windows Phone 8_User Controls_Custom Controls - Fatal编程技术网

C# 是否可能更改代码隐藏中的控件类型

C# 是否可能更改代码隐藏中的控件类型,c#,windows-phone-7,windows-phone-8,user-controls,custom-controls,C#,Windows Phone 7,Windows Phone 8,User Controls,Custom Controls,我很想知道是否有一种方法可以改变代码隐藏视图中显示的控件类型。例如,视图中有一个按钮列表,但我想在按钮单击事件中将所有按钮更改为Hubbiles。现在我只有由XAML生成的按钮,实际上我在全景控件中有它们,如下所示 MainPage.xaml <Grid x:Name="LayoutRoot"> <controls:Panorama Title="my application"> <!--Panorama item one-->

我很想知道是否有一种方法可以改变代码隐藏视图中显示的控件类型。例如,视图中有一个按钮列表,但我想在按钮单击事件中将所有按钮更改为Hubbiles。现在我只有由XAML生成的按钮,实际上我在全景控件中有它们,如下所示

MainPage.xaml

<Grid x:Name="LayoutRoot">
    <controls:Panorama Title="my application">

        <!--Panorama item one-->
        <controls:PanoramaItem Header="item1">
            <Button X:Name="button1" Content="button 1" Click="button1_Click"/>
            <Button X:Name="button2" Content="button 2" Click="button2_Click"/>
            <Button X:Name="button3" Content="button 3" Click="button3_Click"/>
        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="item2">
            <Button X:Name="button4" Content="button 4" Click="button4_Click"/>
            <Button X:Name="button5" Content="button 5" Click="button5_Click"/>
            <Button X:Name="button6" Content="button 6" Click="button6_Click"/>
        </controls:PanoramaItem>
    </controls:Panorama>
</Grid>


有没有一种方法不仅可以在代码隐藏中生成这些按钮(每个按钮当然都会执行特定的操作),而且还可以将控件类型切换到Hubbile,比如从SettingsPage ListPicker(带有两个项目、按钮或平铺)切换到Hubbile?我认为最简单的解决方案是创建一个自定义控件(或usercontrol)这允许您通过设置属性从按钮切换到Hubble。然后,您可以将所有控件上的这个属性绑定到同一个源,并在onceOk上切换所有控件,那么我将如何具体地执行此操作呢。老实说,我从来没有尝试过这样的事情,所以我甚至不知道从哪里开始。我知道如何在我的应用程序中创建一个用户控件,并在我的主页中使用它,但对于创建一个按钮和hubbile并在它们之间切换的功能,我感到困惑。将它们都添加到您的用户控件中,并使用
可见性
属性来显示其中一个