/ / Databázovať hodnotu k hlavičke gridviewcolumn? - wpf, väzba údajov

Databind hodnotu do hlavičky gridviewcolumn? - wpf, viazanie dát

Je to možné?

Mám zoznam listov s niekoľkými stĺpcami gridview. Posledný stĺpec má dynamickú hlavičku. Neviem, aká bude hlavička stĺpca v čase návrhu. Je to vlastne číslo, ktoré chcem zobraziť ako reťazec.

    <GridViewColumn Header="{Binding Path=SomeValue}"
DisplayMemberBinding="{Binding Path=OtherValue}"/>

Zdá sa, že to nefunguje. Dáta sa budú dobre viazať, iba hlavička zostane prázdna. Krokovanie kódom sa nerozbije ani pri vlastnosti SomeValue.

odpovede:

2 pre odpoveď č. 1

Myslím, že váš problém je zdrojomVlastnosť „SomeValue“. Ak sa viažete na zoznam objektov, nemalo by zmysel, aby hlavička bola určená vlastnosťou daného objektu, pretože potom by ste mohli mať pre každý objekt inú hlavičku. V podstate hovoríte: „Zviažte hlavičku stĺpca k vlastnosti „SomeValue“, ktorá žije na rovnakom objekte ako moja vlastnosť „OtherValue“. „Hodnota„ SomeValue “musí pochádzať z iného zdroja, ako je zoznam, na ktorý je viazaná položka mriežky. Musíte buď vo väzbe nastavte vlastnosť „RelativeSource“ alebo „ElementName“.


1 pre odpoveď č. 2
  1. prečítať príspevok http://blogs.infragistics.com/blogs/josh_smith/archive/2008/06/26/data-binding-the-isvisible-property-of-contextualtabgroup.aspx

2. vytvorte špionážnu triedu datacontext podľa príspevku v kroku 1 (skopírujte ju a prilepte, je to niekoľko riadkov)

3. použite špióna datacontext

<common:DataContextSpy x:Key="dci" DataContext="{Binding SomeProperty}" />

<DataGridTemplateColumn Header="{Binding Source={StaticResource dci},
Path=DataContext.SomePropertysListOfValues[14]}">