2014-02-12 13 views
0

我正在尋找一種方法,用於從類中更改用戶控件中的標籤內容。如何將用戶控件中的標籤內容從類中的void更改WPF

如果是網頁,我從更新等級標識的內容與

var main = App.Current.MainWindow as MainWindow; 
main.PageTransitionControl.ShowPage(new LoginControl()); 

但我無法將其轉換爲用戶控件。

精簡的問題是我如何更新一個類的標籤內容。 在用戶控制的.xaml標籤...

感謝提前

---- 編輯:

標籤:

<Label x:Name="Test1" Content="Label" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Width="404"/> 
+3

你用'DataBinding'在XAML地方? –

+0

你能向我們展示XAML的上下文嗎? – owen79

+0

修改了這個問題。並添加了xaml代碼。謝謝 –

回答

0

你需要什麼是這樣的公開方法

/// </summary> 
    public partial class LoginControl : UserControl 
    { 
     public LoginControl() 
     { 
      InitializeComponent(); 
     } 
     public string SetMyLabel(string text) 
     { 
      Test1.Content = text; 
     } 
    } 

,您可以設置文字

 var main = App.Current.MainWindow as MainWindow; 
     LoginControl log = new LoginControl(); 
     main.PageTransitionControl.ShowPage(log); 
     log.SetMyLabel("YourText"); 
0

綁定屬性的標籤內容,並從你的類

private string _labelname; 
public string labelname 
{ 
    get 
    { 
     return _labelname; 
    } 

    set 
    { 
     _labelname=value; 
     OnPropertyChanged("labelname"); 
    } 
} 

賦值給該屬性在你XAML

<Label x:Name="Test1" Content="{Binding labelname}" HorizontalAlignment="Left" Margin="10,72,0,0" VerticalAlignment="Top" Width="404"/> 

然後,您可以爲您的班級指定一個值labelname,如

labelname="New Label"; 

編輯:實現此方法在你的類

public void OnPropertyChanged(string propertyName) 
{ 
    PropertyChangedEventHandler handler = PropertyChanged; 
    if (handler != null) 
    { 
     handler(this, new PropertyChangedEventArgs(propertyName)); 
    } 
    } 
+0

無法從'字符串'轉換爲'System.Windows.DependencyPropertyChangedEventArgs' on this line「OnPropertyChanged(」labelname「);」 –

+0

@ErçinDedeoğlu你可以發佈你的''OnPropertyChanged'方法的實現 – ElectricRouge

+0

我沒有像OnPropertyChanged的方法...你被建議... –

相關問題