Jak vytvořit vazbu na majetku viewmodel zevnitř GridView




Já používám návrhový vzor MVVM a `DataContext`z mého pohledu je nastavena na viewmodel.


Podle mého názoru, mám `ListView/GridView`s `ItemsSource`vázán na `DataTable`. Jeden z `GridViewColumns`má `CellTemplate`která prezentuje `Button`. Chci, aby `IsEnabled`vlastnost tlačítka, které mají být vázány na `SelectButtonsEnabled`vlastnictví mého viewmodel.


Používání `IsEnabled={Binding Path=SelectButtonsEnabled}`nefunguje, protože my `DataTable`nemá sloupec s názvem „SelectButtonsEnabled“. Vlastnost Snažím se vázat, je globální pro celou viewmodel, není specifická pro jednu řádku `DataTable`.


Myslím, že potřebuju nějakou `RelativeSource`značku, ale všechny mé pokusy dosud selhaly.


Dík.
No, já nevím, jestli to je nejvíce stručné způsob, jak to udělat, ale to funguje:



```
IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Path=DataContext.SelectButtonsEnabled}"

```
<p>entityfieldquery používá sadu háčků k propojení s moduly úložiště pole, jako je například pole sql storage, aby pracovalo pro pole i další vlastnosti uzlu. dlouhodobě je entityfieldquery mnohem spolehlivější způsob dotazování na jakýkoli typ entity av některých situacích může provádět dotazy na více entit (viz <a href="http://api.drupal.org/api/drupal/modules--field--field.module/function/field\_has\_data/7">field\_has\_data</a> nebo <a href="http://api.drupal.org/api/drupal/modules--field--modules--list--list.module/function/\_list\_values\_in\_use/7">\_ list\_values\_in\_use ()</a> pro příklad.</p><p>zde je jednoduchý příklad použití entityfieldquery k získání seznamu všech uzlů publikovaných před konkrétním časovým razítkem:</p><pre><code>$query = new entityfieldquery(); $query -&gt;entitycondition('entity\_type', 'node', '=') -&gt;propertycondition('status', 1, '=') -&gt;propertycondition('created', '1294694496', '&lt;'); $result = $query-&gt;execute(); </code></pre><p>$ výsledky z tohoto dotazu by vypadaly asi takto:</p><pre><code>array ( [node] =&gt; array ( [1] =&gt; stdclass object ( [nid] =&gt; 1 [vid] =&gt; 49 [type] =&gt; article ) [2] =&gt; stdclass object ( [nid] =&gt; 2 [vid] =&gt; 2 [type] =&gt; page ) ) ) </code></pre><p>toto pole byste pak mohli použít jako vstup pro node\_load\_multiple:</p><pre><code>$nodes = node\_load\_multiple(array\_keys($result['node'])); </code></pre> Copak nemas nView? Soucasne s ovladacema ke grafice se ti nainstalil nView. Pres vlastnosti obrazovky, na zalozce Nastaveni klikni na upresnit, tam je zalozka nView a tam zadas klonovani (pristupne jen pri pripojene TV). Melo by to fungovat. zkopíruješ zdrojovou buňku a u cílové dáš vložit propojení Pouzij jinej Event. Ted tam mas asi on click na celej grid. Tak pouzij neco vhodnejsiho (oncick na cell, nebo onclick na data v celu). <p>pokud se chystáte přistupovat k obsahu toho, co drupal volající entity) (datové objekty, jako jsou uzly, uživatelé, taxonomie atd.), můžete zvážit použití <a href="http://drupal.org/project/entity">modul entity</a> přidává některé pěkné pomocné funkce. to, co píše nikit, není možné, udělali byste něco takového:</p><pre><code>$term\_id\_1 = $node-&gt;field\_term['und'][0]['tid']; $term\_id\_2 = $node-&gt;field\_term['und'][1]['tid']; </code></pre><p>pak byste museli načíst podmínky atd. místo toho s modulem entity můžete udělat.</p><pre><code>$images = array(); $node\_wrapper = entity\_metadata\_wrapper('node', $node); foreach ($node\_wrapper-&gt;field\_term as $term\_wrapper) { $images[] = $term\_wrapper-&gt;field\_image-&gt;value(); } </code></pre><p><code>$images</code> bude nyní maticí s objektem obrazového pole, který obsahuje informace jako uri, fid atd.</p> <p>při vytváření nové databáze může jakákoli role vytvářet objekty ve schématu <code>public</code>. chcete-li tuto možnost odebrat, můžete vydat ihned po vytvoření databáze:</p><pre><code>revoke all on schema public from public; </code></pre><p>upravit: po výše uvedeném příkazu může pouze superuživatel vytvořit nové objekty uvnitř schématu <code>public</code>, což není praktické. předpokládejme, že by toto oprávnění mělo být uděleno uživateli, který není superuživatelem <code>foo\_user</code>, mělo by to být provedeno pomocí:</p><pre><code>grant all on schema public to foo\_user; </code></pre><p>abychom věděli, co pro schéma znamená <code>all</code>, musíme odkazovat na <a href="http://www.postgresql.org/docs/9.2/static/sql-grant.html">grant v dokument</a> , (v pg 9.2 neexistuje méně než 14 forem příkazů grant, které se vztahují na různé věci. ..). zdá se, že pro schéma to znamená <code>create</code> a <code>usage</code>.</p><p>na druhé straně <code>grant all privileges on database...</code> udělí <code>connect</code> a <code>create</code> a <code>temp</code>, ale <code>create</code> se v této souvislosti týká schémat, nikoli trvalých tabulky.</p><p>pokud jde o tuto chybu: <code>error: no schema has been selected to create in</code>, stává se, když se pokoušíte vytvořit objekt bez kvalifikace schématu (jako v <code>create table foo(...)</code>), přičemž mu chybí oprávnění k jeho vytvoření v libovolném schématu <code>search\_path</code>.</p> <p>musíte přidat spojení mezi uživateli a obsahem. to se provádí prostřednictvím vztahů. přejděte do vztahů a vyberte obsah: autor. pokud přidáte pole, uvidíte několik nových polí, z nichž si můžete vybrat, včetně uživatel: jméno. při konfiguraci uživatele: jméno se zobrazí rozbalovací nabídka, která vám umožní vybrat, který vztah, protože existuje pouze jeden.</p> V nastavení - pokročilé volby - stahování, musíš mít zaškrtnuto "otevřít pomocí zásuvného modulu". <p><em> se objeví </em> na základě <a href="http://drupal.org/node/742142">this</a> a <a href="http://philwilson.org/blog/2010/01/adding-a-bookmark-to-an-android-home-screen">this</a> , že android použije typ <code>rel</code> z <code>apple-touch-icon-precomposed</code> nebo <code>apple-touch-icon</code>, <strong>but</strong>, aby k tomu fungovalo, musíte použít plně kvalifikovanou url, např .:</p><pre><code>&lt;link rel="apple-touch-icon-precomposed" href="http://www.example.com/custom\_icon.png" /&gt; </code></pre><p>nebo:</p><pre><code>&lt;link rel="apple-touch-icon" href="http://www.example.com/custom\_icon.png" /&gt; </code></pre><p>výzva je taková, že se zdá, že platí pro <strong>android 2.1 update 1</strong> &amp; <strong>webkit 3.1</strong>. <a href="http://developer.android.com/reference/android/webkit/webchromeclient.html#onreceivedtouchiconurl%28android.webkit.webview,%20java.lang.string,%20boolean%29">dokumentace pro vývojáře android</a> uvádí metodu v <code>android.webkit</code>, která je událostí, když je načtena <code>apple-touch-icon</code>.</p> <p>sun poskytuje rozhraní api nazvané codemodel pro generování zdrojových souborů jazyka java pomocí rozhraní api. není to nejjednodušší získat informace, ale je to tam a funguje to velmi dobře.</p><p>nejjednodušší způsob, jak toho dosáhnout, je součástí jaxb 2 ri - generátor schématu xjc-to-java používá codemodel pro generování svého zdroje java a je to součást sklenic xjc. můžete jej použít pouze pro codemodel.</p><p>chyť to z <a href="http://codemodel.java.net/">http://codemodel.java.net/</a> </p>