2012-02-24 57 views
0

我想要一個標準按鈕的背景屬性綁定到一個像這樣的屬性我有我的視圖模型:無法綁定背景按鈕,在Windows Phone 7的

<Button Height="72" HorizontalAlignment="Left" Margin="8,515,0,0" x:Name="BtnReset" VerticalAlignment="Top" Width="218" Foreground="White" BorderThickness="0"> 
    <Button.Background> 
     <ImageBrush ImageSource="{Binding ResetBtnImage}" /> 
    </Button.Background> 
</Button> 

的屬性如下:

private ImageSource _resetBtnImage; 

    /// <summary> 
    /// Gets or sets the reset button image. 
    /// </summary> 
    /// <value> 
    /// The reset button image. 
    /// </value> 
    public ImageSource ResetBtnImage 
    { 
     get { return _resetBtnImage; } 
     set 
     { 
      _resetBtnImage = value; 
      RaisePropertyChanged("ResetBtnImage"); 
     } 
    } 

然後我將它設置在代碼:

ResetBtnImage = new BitmapImage(new Uri(ResetBtnInActiveImage, UriKind.Relative)); 

但是按鈕不會顯示在所有當我嘗試和Ru n手機或模擬器上的應用程序。我在這裏做錯了什麼?

謝謝。

+0

你得到在輸出窗口任何約束力的錯誤?嘗試將XAML更改爲不正確,然後驗證錯誤是否顯示在輸出窗口中,有時,您可以簡單地將某些內容綁定到datacontext上,並花費數小時修復未綁定的內容:) – Mark 2012-02-25 01:05:46

回答

0

因此,這裏是我會怎麼做:

XAML:

<Button Content="Test" Background="{Binding MyImage}"/> 

視圖模型:

private ImageBrush _myImage; 
public ImageBrush MyImage 
{ 
    get { return _myImage; } 
    set 
    { 
    if (_myImage.Equals(value)) 
     return; 
    _myImage = value; 
    RaisePropertyChanged("MyImage"); 
    } 
} 

_myImage = new ImageBrush(); 
_myImage.ImageSource = new BitmapImage(new Uri("Background.png", UriKind.Relative)); 
0

兩個想法:

  1. 您的圖像可能不被包裝和應用程序正確部署。檢查您的圖像路徑是否正確,並將生成操作設置爲內容。
  2. 數據綁定可能不起作用。檢查Visual Studio中的調試輸出窗口中的綁定錯誤消息,它將指向潛在的數據綁定問題。
+0

我所有的圖像都設置爲'內容「和」總是複製「,我沒有得到任何綁定錯誤:(。 – Cranialsurge 2012-02-25 00:31:40

+0

更新屬性是'ImageSource'類型。但是這也沒有幫助。它不應該是一個字符串開始只是糾正了它,但是,我仍然陷入困境。 – Cranialsurge 2012-02-25 00:39:13