Ich habe diesen Code, wo ich das Bild in meinem Hauptfenster aktualisieren möchte, wenn sich die Eigenschaft in einem Benutzersteuerelement ändert. Aber irgendwie kann ich den Auslöser nicht arbeiten lassen.WPF - Klasseneigenschaft als Datenauslöser
Einige der XAML-Code
<StatusBar MinHeight="10" MaxHeight="20" VerticalAlignment="Bottom" Grid.Row="2">
<Image x:Name="SomeNameHere">
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=pingable}" Value="false">
<Setter Property="Image.Source" Value="Icons/MainWindow/StatusOffline_stop_32x.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=pingable}" Value="true">
<Setter Property="Image.Source" Value="Icons/MainWindow/StatusOK_32x.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</StatusBar>
Der Teil, wo die Eigenschaft kommt von
public bool pingable { get; set; }
public MainWindow()
{
InitializeComponent();
pingable = PingHost("some random IP");
}
public bool PingHost(string nameOrAddress)
{
pingable = false;
Ping pinger = new Ping();
try
{
PingReply reply = pinger.Send(nameOrAddress);
pingable = reply.Status == IPStatus.Success;
}
catch (PingException)
{
// Discard PingExceptions and return false;
}
return pingable;
}
ich die Eigenschaft während der Fehlersuche im XAML-Editor zu sehen, so dass es scheinbar erkannt wird, und ich sehe auch die Wert würde passen. Aber irgendwie wird der Setter nicht ausgeführt. Jemand eine Idee zu diesem Thema?
Vielen Dank und einen schönen Tag!
Dank Ihnen. Das hat mir wirklich sehr geholfen. Werde eine Antwort schreiben mit wie ich es am Ende ein wenig gehandhabt habe. – CuttingWide