Hallo allerseits. Ich denke hier passts eher hin als zu den Datentechnologien:
Ich habe ein XAML-Window mit einer Listbox. Diese wird über StaticResource (von einer Klasse) befüllt:
<Window.Resources>
<ObjectDataProvider x:Key="getTableList" ObjectType="{x:Type gs:getTableList}">
<ObjectDataProvider.ConstructorParameters>
<system:String>plz_ort</system:String> <!-- Tabelle -->
<system:String>plz_ort_id</system:String> <!-- Keyfelder -->
<system:String>ref_plz|ref_ort</system:String> <!-- Felder -->
<system:String>null</system:String> <!-- ORDER BY -->
<system:String>null</system:String> <!-- Filter fields -->
<system:String>null</system:String> <!-- Filter expressions -->
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Window.Resources>
<ListView ItemsSource="{Binding Source={StaticResource getTableList}}" x:Name="Dplz_ortVBplz_ort" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="3" Grid.RowSpan="2" >
<ListView.View>
<GridView>
<GridViewColumn x:Name="Dplz_ortVBplz_ortS2" Header="PLZ" DisplayMemberBinding="{Binding Path=ref_plz}" />
<GridViewColumn x:Name="Dplz_ortVBplz_ortS1" Header="Ort" DisplayMemberBinding="{Binding Path=ref_ort}" />
</GridView>
</ListView.View>
</ListView>
Wenn ich nun ein Element der Listview anklicke öffnet sich ein Detailfenster, in welchem ich die Daten ändern kann.
Nun möchte ich gerne nach dem Schließen des Detailfensters dafür sorgen, daß sich auch die ListView aktualisiert. Folgendes klappt leider nicht:
BindingExpression be = this.listview.GetBindingExpression(ListView.ItemsSourceProperty);
be.UpdateTarget();
Irgendwo auch plausibel, da es ja ein STATICSource ist. Gibt es irgendwie eine Möglichkeit, das ListView dazu zu bringen, sein ItemSource neu einzulesen?
(Gerne auch schlicht alle Controls des Fensters)
Mein Haus, mein Viertel, mein Blog
geht es denn mit DynamicResource nicht?
Geht ja nicht, da die Datenquelle eine Klasse ist (über ObjectDataProvider). Da ist kein DynamicResource erlaubt.
Wie soll C# auch rausfinden, wenn eine Änderung aufritt?
Die Klasse sieht übrigens wie folgt aus:
public class getTableList : DataTable{}
Sollte aber egal sein
Mein Haus, mein Viertel, mein Blog