Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# &引用;“正确”;在WPF中显示新控件的方法_C#_Wpf - Fatal编程技术网

C# &引用;“正确”;在WPF中显示新控件的方法

C# &引用;“正确”;在WPF中显示新控件的方法,c#,wpf,C#,Wpf,我正在设计一个带有简单UI的小助手实用程序。我正在制作以下模型: 执行流程如下所示: 用户单击“其他”单选按钮 将显示一个文本框,提示用户在响应中写入 我的问题是:实现从左侧图片到右侧图片的UI更改的“正确”方法是什么?我的选项似乎是要么为每个控件创建一个唯一的窗口,要么将所有控件都放在同一个窗口上,只需调整控件的可见性即可 真的没有“正确”的方法。这完全取决于你的要求 如果希望新屏幕显示在新窗口中,请创建一个新窗口。如果希望它显示在同一窗口中,只需用单选按钮替换上一个屏幕,然后切换各个控件或

我正在设计一个带有简单UI的小助手实用程序。我正在制作以下模型:

执行流程如下所示:

  • 用户单击“其他”单选按钮
  • 将显示一个文本框,提示用户在响应中写入
  • 我的问题是:实现从左侧图片到右侧图片的UI更改的“正确”方法是什么?我的选项似乎是要么为每个控件创建一个唯一的窗口,要么将所有控件都放在同一个窗口上,只需调整控件的可见性即可

    真的没有“正确”的方法。这完全取决于你的要求

    如果希望新屏幕显示在新窗口中,请创建一个新窗口。如果希望它显示在同一窗口中,只需用单选按钮替换上一个屏幕,然后切换各个控件或父
    面板的
    可见性
    属性,最好使用视图模型,该视图模型具有您在视图中绑定的
    bool
    Visibility
    源属性。

    实际上没有“正确”的方法。这完全取决于你的要求


    如果希望新屏幕显示在新窗口中,请创建一个新窗口。如果希望它显示在同一窗口中,只需用单选按钮替换上一个屏幕,然后切换各个控件或父
    面板的
    可见性
    属性,最好使用视图模型,该视图模型具有您在视图中绑定的
    bool
    Visibility
    源属性。

    DataTemplates是此类简单场景的另一种方法,您可以使用简单的单击事件处理程序,在这里,您可以切换两个面板的可见性。您可以通过许多不同的方式来实现(因此,问题太广泛了)。但我甚至不会去创造一个全新的窗口。在XAML中定义两个布局并根据单选组选择更改可见性,或者为每个场景使用两个不同的视图模型,每个场景使用一个模板,并在选择“其他”单选按钮时切换视图模型。数据模板是此类简单场景的另一种方式,您可以使用一个简单的单击事件处理程序,在该处理程序中切换两个面板的可见性。您可以使用许多不同的方法来执行此操作(因此,问题太广泛)。但我甚至不会去创造一个全新的窗口。在XAML中定义两个布局并根据单选组选择更改可见性,或者为每个场景使用两个不同的视图模型,每个场景使用一个模板,并在选择“其他”单选按钮时切换视图模型。我没有想到将所有“要隐藏的控件”嵌套在父网格或stackpanel中。我担心跟踪多个独立控件的可见性-这就解决了这个问题。谢谢我没有想到将所有“要隐藏的控件”嵌套在父网格或stackpanel中。我担心跟踪多个独立控件的可见性-这就解决了这个问题。谢谢