Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ComboBox Editabile visualizza nome classe

6 views
Skip to first unread message

Flavio Miano

unread,
Dec 15, 2009, 7:38:47 PM12/15/09
to
WPF :
Come da oggetto quando in una combo Bindata ad una observablecollection di
una classe
quando seleziono il valore viene visualizzato il nome della classe.
Per ora faccio l'override di ToString() e tutto va bene.
esiste un altro metodo per visualizzare una data propriet� della classe
invece di dover ridefinire il tostring ?

Anche perch� in una form vorrei visualizzare un campo in un'altra pu� darsi
me ne serva un altro !


Grazie
Flavio

Mauro Servienti [MVP]

unread,
Dec 15, 2009, 11:25:42 PM12/15/09
to
Ciao Flavio,

You wrote on 16/12/2009 :
> WPF :
> Come da oggetto quando in una combo Bindata ad una observablecollection di
> una classe
> quando seleziono il valore viene visualizzato il nome della classe.
> Per ora faccio l'override di ToString() e tutto va bene.

> esiste un altro metodo per visualizzare una data proprietᅵ della classe

> invece di dover ridefinire il tostring ?
>

> Anche perchᅵ in una form vorrei visualizzare un campo in un'altra puᅵ darsi

> me ne serva un altro !

ma per visualizzare gli item come fai?

>
> Grazie
> Flavio

.m

--
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCP
http://mvp.support.microsoft.com
http://blogs.ugidotnet.org/topics
whynot [ at ] topics [ dot ] it


Flavio Miano

unread,
Dec 16, 2009, 5:04:18 AM12/16/09
to
praticamente con ItemsSource="{Binding ListaCategorie}"
dove ListaCategorie ᅵ observablecollection(of tabCategorie)
campi: IDCategoria, Categoria

Con questa combo
(nota appare la X dove posso cancellare la categoria perchᅵ non ci sono
elementi correlati, e il Text Bindato serve quando voglio aggiungere la
categoria nuova)

<ComboBox ItemsSource="{Binding ListaCategorie}"
SelectedItem="{Binding
Articolo.tabCategorie}"
Text="{Binding
Path=DescrizioneCategoria, Mode=OneWayToSource}"
Width="200" IsEditable="True"
HorizontalContentAlignment="Stretch">

<ComboBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<Button
DockPanel.Dock="Right" Command="{Binding ElementName=Me,
Path=DataContext.cmdDelCategoria}" CommandParameter="{Binding Path=.}"
Cursor="Hand">
<Button.Template>
<ControlTemplate>
<Image
Source="/M2TMeat;component/images/Cancella.png" Width="24" />
</ControlTemplate>
</Button.Template>
<Button.Style>
<Style
TargetType="Button">
<Style.Triggers>
<Trigger
Property="IsEnabled" Value="False" >
<Setter
Property="Visibility" Value="Hidden" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<TextBlock
Text="{Binding Categoria}" />
</DockPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>


"Mauro Servienti [MVP]" <maurose...@online.nospam> ha scritto nel
messaggio news:mn.81457d9c8...@online.nospam...

Mauro Servienti [MVP]

unread,
Dec 17, 2009, 4:25:39 AM12/17/09
to
Ciao Flavio,

You wrote on 16/12/2009 :
> praticamente con ItemsSource="{Binding ListaCategorie}"
> dove ListaCategorie ᅵ observablecollection(of tabCategorie)
> campi: IDCategoria, Categoria
>
> Con questa combo
> (nota appare la X dove posso cancellare la categoria perchᅵ non ci sono
> elementi correlati, e il Text Bindato serve quando voglio aggiungere la
> categoria nuova)

hai provato con "DisplayMemberPath", oppure con l'attached property
TextSearch.Text/TextPath?

Flavio Miano

unread,
Dec 17, 2009, 4:41:15 AM12/17/09
to
Rapporto :

allora
1. DisplayMemberPath non si puᅵ usare vista la presenza di
ItemTemplate/DataTemplate e cmq da prove precedenti in caso di IsEditable =
True non funzionava.
2. TextSearch.Text = "{Binding NomeCampo}" NON FUNZIONA
3. TextSearch.TextPath = "NomeCampo" FUNZIONA <<<<<<<<----- Questa ᅵ la
soluzione corretta

Grazie
Flavio

ps. sul punto 2
noto che il binding come source fa riferimento al ViewModel
ho fatto riferimento a Articolo.tabCategorie.Categoria ma nn funziona....
strano :-(


"Mauro Servienti [MVP]" <maurose...@online.nospam> ha scritto nel

messaggio news:mn.8a717d9c8...@online.nospam...

Mauro Servienti [MVP]

unread,
Dec 17, 2009, 5:21:30 AM12/17/09
to
Ciao Flavio Miano,

You wrote on 17/12/2009 :
> Rapporto :
>
> allora
> 1. DisplayMemberPath non si puᅵ usare vista la presenza di
> ItemTemplate/DataTemplate e cmq da prove precedenti in caso di IsEditable =
> True non funzionava.
> 2. TextSearch.Text = "{Binding NomeCampo}" NON FUNZIONA
> 3. TextSearch.TextPath = "NomeCampo" FUNZIONA <<<<<<<<----- Questa ᅵ la
> soluzione corretta
>

molto bene! grazie per il feedback.

> Grazie
> Flavio
>
> ps. sul punto 2
> noto che il binding come source fa riferimento al ViewModel
> ho fatto riferimento a Articolo.tabCategorie.Categoria ma nn funziona....
> strano :-(

sai che non ho capito

0 new messages