2012-10-26 125 views
0

在我的WPF應用程序中,文檔有兩個屬性,報告名稱和文件名。在用戶界面中,用戶填寫報告名稱,文件名稱將自動填入報告名稱作爲默認值。 在創建對話框新的文件我有文本框多重綁定

<TextBox x:Name="tbReportName" Grid.Row="0" Grid.Column="1" Style="{StaticResource DialogInputStyle}" 
     Text="{Binding UpdateSourceTrigger=PropertyChanged, Path=ReportName, 
       ValidatesOnDataErrors=true, NotifyOnValidationError=true}" /> 

<TextBox Grid.Row="5" Grid.Column="1" Text="{Binding Text,ElementName=tbReportName,UpdateSourceTrigger=PropertyChanged,Mode=OneWay,Converter={StaticResource safefilenamConverter}}" Style="{StaticResource DialogInputStyle}" > 

報告名稱是綁定到視圖模型的屬性,我需要做相同的文件名

用戶可以選擇使用默認文件名或在文本框中更改它。我需要將文件名文本框的值綁定到viewmodel中的屬性,但綁定已用於從報告名稱文本框中獲取值。

不知道該用什麼,如果我想留MVVM

Multibinging,觸發....任何想法?

回答

0

是否必須在XAML中?如果設置ReportName時,您可以設置FileName屬性爲空:

private string _reportName; 
public string ReportName 
{ 
    get { return _reportName; } 
    set 
    { 
     _reportName = value; 
     if(string.IsNullOrEmpty(FileName)) 
     { 
      FileName = _reportName; 
     } 
     OnPropertyChanged("ReportName"); 
    } 
} 

private string _fileName; 
public string FileName 
{ 
    get { return _fileName; } 
    set 
    { 
     _fileName = value; 
     OnPropertyChanged("FileName"); 
    } 
} 
+0

感謝您的回答。我不能這樣做,因爲用戶應該能夠更改連接的文本框中的默認文件名 – klashagelqvist

+0

您仍然有一個FileName屬性綁定到第二個文本框,以允許用戶覆蓋默認文件名。 – dzavala

+0

對不起,沒有實現你的解決方案。猜猜這不應該成爲一個問題,但更多的是一個大腦窒息的例子 – klashagelqvist