Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
XAML Binding-Problem wenn Objekt im Code-Behind erzeugt wird
adm1n
myCSharp.de - Member



Dabei seit:
Beiträge: 52

Themenstarter:

XAML Binding-Problem wenn Objekt im Code-Behind erzeugt wird

beantworten | zitieren | melden

Hallo zusammen,

folgender XAML-Code:

  <Fluent:Ribbon Name="Ribbon">

        <Fluent:Ribbon.ContextualGroups>
            <Fluent:RibbonContextualTabGroup Name="Groupx"/>
        </Fluent:Ribbon.ContextualGroups>

        <Fluent:RibbonTabItem Group="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Fluent:RibbonContextualTabGroup}},Path=Groupx}" />
        
    </Fluent:Ribbon>

Folgender Code-Behind (quick and dirty):


Fluent.Ribbon _Ribbon = new UCRibbon().FindName("Ribbon") as Fluent.Ribbon;

Ribbon.ContextualGroups.Add(_Ribbon.ContextualGroups[0]);
Ribbon.Tabs.Add(_Ribbon.Tabs[0]);

Im XAML wird einmal Fluent:RibbonContextualTabGroup und einmal Fluent:RibbonTabItem
erzeugt. Nach dem .FindName("Ribbon") hat er auch jeweils ein Objekt in _Ribbon.Tabs und
ein Objekt in _Ribbon.ContextualGroups, jedoch Funktioniert das Group-Binding vom
RibbonTabItem nicht. Siehe Screenshot. Der Wert "Group" ist null.

Habe auch Group="{Binding ElementName="Groupx"}" probiert, ging aber genau so wenig.

"Ribbon" ist ein anderes Ribbon-Menu. Ich will quasi ein Teil vom einen Fluent-Ribbon mit
einem anderen Fluent-Ribbon zusammenführen.

Ohne XAML, also ALLES im Code-Behind, funktioniert es.

Jemand eine Idee, wie ich das Binding im XAML machen muss, damit es funktioniert?
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von adm1n am .
Attachments
Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt - Tractatus 5.6, Ludwig Wittgenstein
private Nachricht | Beiträge des Benutzers
unconnected
myCSharp.de - Member

Avatar #avatar-3200.jpg


Dabei seit:
Beiträge: 862
Herkunft: Oerlinghausen/NRW

beantworten | zitieren | melden

Ich kann Dir zumindest sagen warum das Binding nicht funktioniert.

Relative Source Binding FindAncestor sucht im VisualTree nach oben. Deine TabGroup die Du binden magst ist aber eine Ebene tiefer, und nicht mal im selben Ast.

In diese Situation bin ich aber noch nie gekommen. Deshalb weis ich weder ob es Sinn macht, noch wie man es löst.
private Nachricht | Beiträge des Benutzers