【问题标题】:Set value of an object based on combobox selection (xaml / c#, uwp)根据组合框选择设置对象的值(xaml / c#,uwp)
【发布时间】:2016-03-02 13:05:54
【问题描述】:

基本上,我要做的是从第 1 页的组合框中选择一个项目,并根据该选择在第 2 页设置图像源,但我不确定如何实现这一点。

在第 1 页我有:

 private void pOneColorChoice(object sender, SelectionChangedEventArgs e)
    {
       setPlayerOneColor = PlayerOneColor.SelectedItem; 
    }

在第 2 页上,我不确定如何调用该选择,然后将其放入其中以设置图像:

BitmapImage ImageOne;

        if (PlayerOneColor == Black)
        {
            ImageOne = new BitmapImage(new Uri("Assets/Black.jpg"));
            PlayerOneImage.Source = ImageOne; 
        }

我会为其他颜色选择添加其他声明。我可能很遥远,但任何建议都将不胜感激!

【问题讨论】:

    标签: c# xaml uwp universal


    【解决方案1】:

    当您导航到Page2 时,您可以将其作为参数发送

    private void pOneColorChoice(object sender, SelectionChangedEventArgs e)
        {
           setPlayerOneColor = PlayerOneColor.SelectedItem; 
           Frame.Navigate(typeof(Page2), setPlayerOneColor);
        }
    

    在第 2 页导航方法中,您可以像这样获取参数

    var name = e.NavigationParameter as yourType;
    

    【讨论】:

      【解决方案2】:

      正如已在此处回答的那样,您可以在导航到页面时将选项作为参数传递。

      不过,我建议您为您的应用程序遵循 MVVM 设计模式,这样您就可以从其他页面访问您的其他页面的视图模型。 MVVM Light 是一个很好的起点。

      使用此方法可以让您的设置页面拥有一个视图模型,您可以在其中选择选项,然后从另一个视图模型中访问您已更改的相同属性。如果需要,我可以详细说明:)

      【讨论】:

      • 感谢您的回复!我一直在用很少的编码知识自学 UWP 开发。我一直在尝试找到一个关于 MVVM 以及如何实现它的优秀教程系列。如果您有时间详细了解如何在非常基础的层面上使用 Light 实现 MVVM,我将不胜感激。也许该链接页面上的信息是最好的起点。
      猜你喜欢
      • 2018-03-17
      • 2022-01-23
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多