Hintergrundfarbenbindung erhält nicht den richtigen Wert, nachdem die Elemente die Quelle aktualisiert wurde (Winui 3, .C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Hintergrundfarbenbindung erhält nicht den richtigen Wert, nachdem die Elemente die Quelle aktualisiert wurde (Winui 3, .

Post by Anonymous »

Ich versuche, die Hintergrundfarbe einiger benutzerdefinierter Steuerelemente zu aktualisieren, die ich erstellt habe, basierend auf den Werten einer beobachtbaren Sammlung, die durch eine Datenvorlage an das XAML gebunden ist, aber die Bindungen erhalten nach den Änderungen der Sammlung falsche Werte. Die anderen Eigenschaften werden korrekt aktualisiert. Zeit, die sich eine Eigenschaft änderte, aber es funktionierte nicht. < /p>

Code: Select all

CustomControls(project)/Themes/Generic.xaml
:

Code: Select all





Customcontrols/customtableCard.cs

Code: Select all

public class CustomTableCard : Control
{
public static readonly DependencyProperty BackgroundColorProperty =
DependencyProperty.Register(
nameof(BackgroundColorProperty),
typeof(string),
typeof(CustomTableCard),
new PropertyMetadata(null));

public string BackgroundColorProp
{
get => (string)GetValue(BackgroundColorProperty);
set => SetValue(BackgroundColorProperty, value);
}

public CustomTableCard()
{
this.DefaultStyleKey = typeof(CustomTableCard);
}

protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
[...]
}
< /code>
View(Packaged project)/CustomTablePage.xaml
:

Code: Select all








[...]


View/CustomTablePage.xaml.cs
:

Code: Select all

public void loadTables()
{
CustomTableCardDataRepository.FillCustomTablesCollection((int)userId);

itemsViewTables.ItemsSource = CustomTableCardDataRepository.customTableItemsCollection;
}
< /code>
Even though the data in customTableItemsCollection
ist vor und nachdem sie Elemente Quelle zugewiesen wurde, die Bindung für den Gitterhintergrund erhält einen falschen Wert. >

Neue Informationen:
Ich habe experimentiert, um den Standard zu ändern Schaltflächenfarbe und es änderte auch die fehlerhafte Farbe > < /p>
Ich habe den Konstruktorcode debbugiert, aber es hat nie die Zeile erreicht, die die Eigenschaft auf Pink setzt, wenn es nur die erste Taste (Bild oben) gab, stattdessen setzte sie die Eigenschaft auf weiß. Das sind die richtigen Daten. < /p>

Code: Select all

Data(project)/CustomTableCard.cs


Dabei denke ich, dass es ziemlich genau ist zu sagen, dass es frühere Daten aus anderen Schaltflächen erhalten, die entfernt wurden. Die Bindung ist wahrscheinlich stört. Ich weiß jedoch nicht, wie ich dieses Problem angehen soll ...

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post