2012-06-28 58 views

回答

2

在最好的情況下,後面的代碼是空的或者只是InitializeComponent存在。

因此,我將重點介紹一種完成此操作的方法,並讓 未來的變化變得非常簡單!

您可以輕鬆地爲您的窗口設置DataContext(例如在代碼隱藏中)。

從這個DataContext(當這個 路徑將改變時應該實現INotifyPropertyChanged),你可以很容易地綁定到任何你想要的。

這裏是一個小例子:

// ViewModel class containing ImagePath 

public class WindowBackgroundViewModel : INotifyPropertyChanged 
{ 
    public string ImagePath { get; set; } 
} 


// in Codebehind 
public WindowBackgroundViewModel ViewModel { get; set; } 

// in Constructor 
public myWindow() 
{ 
    this.ViewModel = new WindowBackgroundViewModel(); 
    this.ViewModel.ImagePath = @"C:\myBackground.png"; 

    this.DataContext = this.ViewModel; 
} 


// in XAML 
<... ImageBackground="{Binding Path=ImagePath}" 
1

我雖然不是與背景圖像顯示,但仍下面結合應該是適用於您的情況:

XAML

<TextBox DataContext="{Binding RelativeSource={RelativeSource AncestorLevel=1,AncestorType=Window}}" 
Text="{Binding MyProperty}" Width="200" Height="50"/> 

C#

public partial class MainWindow : Window 
    { 
     public string MyProperty { get; set; } 

     public MainWindow() 
     { 
      InitializeComponent(); 
      MyProperty = "Sample"; 
     } 
    } 

希望這應該對你有幫助!