Ich versuche, die Eigenschaft von TextBlock
sowohl von CodeBehind (Xaml.cs) und ViewModel
Bindung.TextBlock.Text Update ViewModel und CodeBehind WPF
Standardmäßig werden die Werte aus ViewModel geladen, was gut funktioniert.
XAML:
<TextBlock Name="test">
<TextBlock.Text>
<MultiBinding StringFormat=" ({0}, {1} of {2})">
<Binding Path="SeriesId" />
<Binding Path="SeriesName" />
<Binding Path="SeriesCalc" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
XAML.cs
In einem Button-Klick-Ereignis die folgende versucht,
test.DataContext = "Not Available";
Oder
test.Text = "Not Available";
Ansichtsmodell:
In einer anderen Taste Command
ich versuche, den Wert auf die TextBlock
zuzuweisen.
SeriesId= GetIds();
SeriesName= GetNamesWithDE();
SeriesCalc= CalculateValue();
Aber sobald die „Not Available
“ von Code hinter eingestellt ist, ist es nicht von ViewModel
überschrieben werden könnte.
Wo liege ich falsch?
Sie liegen nicht falsch. aber wenn du den Datenkontext von deinem Viewmodel wegstellst - du kannst den Textblock nicht mehr aktualisieren ... warum in aller Welt willst du das tun ?? – blindmeis
In XAML legen Sie eine Bindung zu Ihrer 'Text' -Eigenschaft fest. Im Code dahinter setzen Sie die Eigenschaft 'Text' zurück. Daher wird deine Bindung poof. – zahir
@zahir: Danke. – iamCR