So fügen Sie ein userControl -spezifisches ViewModel hinzu, erreichen aber dennoch die Abhängigkeitseigenschaft veränderC#

Ein Treffpunkt für C#-Programmierer
Guest
 So fügen Sie ein userControl -spezifisches ViewModel hinzu, erreichen aber dennoch die Abhängigkeitseigenschaft veränder

Post by Guest »

Ich möchte eine WPF -Klassenbibliothek erstellen, die auf einem TreeView basiert, um JSON -Zeichenfolgen zu visualisieren. Ich möchte nicht die JSON -String übergeben. Ich kann die Zeichenfolge im JSONCHANGEDCallback ohne DataContext erhalten. Wenn ich dem ViewModel einen DataContext hinzufüge, ist der jsonChangedCallback nicht länger erreicht. Ich bin mir noch nicht sicher, wie ich es erreichen werde, aber ich glaube, dass ein bestimmter ViewModel die TreeView Knotenexpansionen verarbeiten muss.
für In dem Zeitpunkt möchte ich die JSON -Zeichenfolge nicht aus einer Datei laden, sondern sie direkt aus der Verbraucher -App bereitstellen. Ich werde es wahrscheinlich später ändern, wenn Performances wichtig sind. Nimmt den eine aus der Verbraucher -App. Ich erhalte jedoch keinen Bindungsfehler. >
  • Verbraucher -App (vereinfacht)

Code: Select all





< /code>

  WPF -Klasse Bibliothek < /strong> < /li>
< /ul>














< /code>
public partial class JsonVisualizer : TreeView
{
#region Public Static Readonly Members

public static readonly DependencyProperty JsonProperty =
DependencyProperty.Register(
nameof(Json),
typeof(string),
typeof(JsonVisualizer),
new PropertyMetadata(null, JsonChangedCallback));

public string Json
{
get => (string)GetValue(JsonProperty);
set => SetValue(JsonProperty, value);
}

public JsonVisualizer()
{
InitializeComponent();

//DataContext = new JsonVisualizerViewModel();
}

private static void JsonChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var json = e.NewValue;

// Code reached if no DataContext specified in the constructor.
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post