Obsah komplexniho listViewItem prvku   otázka

WPF

Zdravím,

právě píšu svoji první aplikaci ve WPF (editor představení - je docela jedno jakého). V editoru využívám menu objektů, které umisťuji do představení. Toto menu je realizováno jako ListView, v kterém využívám DataTemplate pro nadefinování jeho ItemTemplate.

DataTemplate vypadá takto (XAML):

<DataTemplate x:Key="xxx">
  <StackPanel>
    <Border>
      <Grid>
        <Image Source="{Binding ImageObject}" />
        <TextBlock Text="{Binding NameObject}" />
     </Grid>  </Border> </StackPanel> </DataTemplate>

Zobrazovaná data v ListView jsem si vytvořil pomoci Sample data source - jedná se o kolekci dvojic {obrázek, text}. Zobrazení ListView proběhne plně podle mojich představ.

Jak jsem již psal jedná se o editor. Proto jsem implementoval nad prvky ListView drag&drop funkcionalitu, kterou umisťuji vybrané prvky do 'pracovní oblasti'. A tady přichází můj problém...

Koncept pro drag&drop dělám takto (C#):

ListViewItem selectedItem;
...
DragDrop.DoDragDrop( selectedItem, selectedItem.Content, DragDropEffect.Copy );

Pracovní oblast je zatím implementována také jako ListView. Ovšem v tomto ListView nechci zobrazovat prvky tak jak byly zobrazeny v menu (obrázek, text) - zde je postačující zobrazit např. pouze jen text. Přes veškerou snahu se mi nepodařilo přistoupit ke Contentu ListViewItem, abych mohl přistupovat přímo k textu, který ListViewItem obsahuje.

Předem děkuji za pomoc,

Kamil.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Předem se všem omlouvám, že jsem zde dával zbytečně svůj předešlý post. Jeden a půl dne jsem na to nemohl přijít a pak si napíšu o radu do fóra a v následujících deseti minutách to mám vyřešeno :-(

Kdyby se někdo stejně jako já zasekl na takové drobnosti dávám zde své řešení - část kódu funkcionalita drag&drop:

Expresion.Blend.SampleData.MyDataType.Item myContent;
myContent = ( Expresion.Blend.SampleData.MyDataType.Item ) selectedItem.Content;

DragDrop.DoDragDrop( selectedItem, myContent, DragDropEffect.Copy );

Když jsem zde již popsal princip své aplikace rád bych poprosil ještě o jednu radu. Editor, který realizuji má inspiraci v konceptu Visual studia. Objekty ListViewItem, které přetahuji do pracovní oblasti by šly asociovat s Toolbox prvky ve VS a má pracovní oblast je Designer. Při umístnění prvku (šablony) do pracovní oblasti vznikne nový jedinečný objekt, kterému půjdou upravovat jeho vlastnosti (asociace s Property ve VS). Při hledání na internetu jsem narazil na návrhový vzor MVVM, o kterém se domnívám, že bych jej mohl využít. Tímto bych poprosil o jakékoli nasměrování jak tento návrhový vzor aplikovat na můj problém.

Děkuji Kamil.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback