C#WPF,Window2组合框默认项目设置MainWindow背景,初始化时出错

时间:2016-09-02 02:20:46

标签: c# wpf visual-studio

我有 MainWindow 以及一个打开 Window2 的按钮。

Window2 我使用Combobox设置 MainWindow 背景图片。

它完美无缺,但如果我尝试在XAML中初始化默认组合框项目或设置默认值,我会收到错误,因为它无法找到MainWindow。

异常:抛出:"对象引用未设置为对象的实例。"

主窗口

// Open Configure Window
window2 = new Window2();
window2.Owner = Window.GetWindow(this);
window2.Show();

窗口2

public Window2()
{
    InitializeComponent();

    // Set Default Combobox Default Item
    if ((string)comboBox1.SelectedItem.SelectedItem == null)
    {
        comboBox1.SelectedItem = "Background 1";
    }
}

// Combobox Selection Changed    
private void comboBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        // Call MainWindow
        MainWindow mainwindow = this.Owner as MainWindow;

        // Combobox Item Selection
        if ((string)comboBox1.SelectedItem == "Background 1")
        {
            // Background Image
            ImageBrush changeBg = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "Resources/bg1.jpg")));

            // Change MainWindow Background
            mainwindow.Background = changeBg;
        }
    }

我也尝试了这个,但它引发了另一个错误。

MainWindow mainwindow = (MainWindow)Application.Current.MainWindow;

例外:抛出:"无法投射类型' MyProject.Window2'输入' MyProject.MainWindow'"

0 个答案:

没有答案