WPF 'Instanzen', die hinter dem Vorhang überlebtC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 WPF 'Instanzen', die hinter dem Vorhang überlebt

Post by Anonymous »

Ich habe eine WPF -Fenster -Unterklasse. Das Fenster enthält ein Elementcontrol, dessen ElementSource im Fenster -Unterklassenkonstruktor initialisiert wird. Das Fenster wird jedes Mal mit ShowDialog () auf einer neuen Instanz gezeigt. passiert jedoch nicht die ganze Zeit. Manchmal wird Getenumerator () tatsächlich aufgerufen. Wenn ich ElementsSource jedes Mal ein neues iEnumerable zuweist, wird Getenumerator immer aufgerufen. PrettyPrint-Override ">

Code: Select all













< /code>
Code-Behind: < /p>
    public partial class SystemInfoWindow : Window
{
public SystemInfoWindow(IEnumerable maintenanceInfos)
{
InitializeComponent();

System.Diagnostics.Debug.WriteLine("ItemsControl instance={0}", System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(MaintenanceInfos));
System.Diagnostics.Debug.Assert(null == MaintenanceInfos.ItemsSource);

MaintenanceInfos.ItemsSource = maintenanceInfos;
}
}
< /code>
Code für die Anzeige des Dialogfelds: < /p>
    private void ShowSysInfo_Click(Object sender, RoutedEventArgs args)
{
var dlg = new SystemInfoWindow(facade.MaintenanceInfos);
dlg.Owner = Window.GetWindow(this);
dlg.ShowDialog();
}
< /code>
facade.MaintenanceInfos
ist eine Eigenschaft, die immer dasselbe iEnumerable Instanz zurückgibt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post