Ich versuche herauszufinden, welcher meiner Slider das Event aufgerufen hat, daher kann ich die OutputAnalogChannel-Methode mit dem Index des Sliders und dem Slider-Wert aufrufen. Meine Sliders, die möglicherweise das Ereignis aufrufen könnten, werden genannt:Überprüfen, welches Objekt das ValueChanged-Ereignis eines Sliders aufgerufen hat
{K8055AnalogOutputSlider1, K8055AnalogOutputSlider2, [...], K8055AnalogOutputSlidern}
Also nichts ist falsch mit dem folgenden Code, es funktioniert, aber ich fühle mich wie das ist eine sehr "schlechte" Art, dieses Problem zu lösen. Was ich dachte, ist, dass dem Slider eine Art 'zusätzlicher' Integerwert hinzugefügt wird, der dem korrekten Slider am Index entspricht.
Ehrlich gesagt versteckt sich diese Antwort wahrscheinlich irgendwo auf stackoverflow, aber ich bin mir nicht sicher, wonach ich suchen würde, also habe ich hier gepostet. Danke im Voraus!
private void K8055AnalogOutputSliderValueChanged(object sender, RoutedEventArgs e)
{
Slider slider = sender as Slider;
K8055.OutputAnalogChannel(int.Parse(slider.Name[slider.Name.Length - 1].ToString()), (int)slider.Value);
}
die Eigenschaft Name @VisualVincent bereits verwendet wird, durch den angegebenen Namen oben {K8055AnalogOutputSlider1, K8055AnalogOutputSlider2, [...], K8055AnalogOutputSlidern} – Encore
Sie könnten verwenden die Eigenschaft "Tag" der Steuerelemente und setzen Sie den Index dort. –
Das habe ich gesehen, nachdem ich den Code richtig formatiert habe. :) –