myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » ItemTemplateSelector SelectedTemplate wird nicht mehr ausgelöst
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

ItemTemplateSelector SelectedTemplate wird nicht mehr ausgelöst

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274


_Cashisclay ist offline

ItemTemplateSelector SelectedTemplate wird nicht mehr ausgelöst

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich nutze zur Zeit eine FilteralbeComboBox den ich hier gefunden habe :

 https://stackoverflow.com/questions/2001...190176#55190176

Die Lösung die dort angeboten wird funktioniert soweit auch einwandfrei.

Nur nutze ich bei einigen ComboBoxen die ich dadurch jetzt ersetzen möchte einen ItemTemplateSelector, der funktionierte bisher auch super. Ich denke mal das in der Klasse irgendwas überschrieben wird was dort in Konflikt kommt, jedenfalls wird nach der Auswahl das SelectedTemplate nicht mehr ausgelöst.

Hab mich jetzt schon eine Weile mit auseinandergesetzt, aber ich seh es einfach nicht, eventuell kann mir ja jemand weiterhelfen.

XML-Code:
                            <Filterable:FilterableComboBox  Grid.Column="2"
                                                                HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                                                    ItemsSource="{Binding ComboBoxWithdrawalSystemChargeItemsSource, UpdateSourceTrigger=PropertyChanged}"
                                                                        ItemTemplateSelector="{DynamicResource ItemTemplateSelector}"
                                                                            SelectedItem="{Binding ComboBoxWithdrawalSystemChargeSelectedItem, UpdateSourceTrigger=PropertyChanged}"
                                                                                Text="{Binding ComboBoxWithdrawalSystemChargeText, UpdateSourceTrigger=PropertyChanged}"
                                                            Style="{StaticResource BaseComboBox}"
>

                                <Filterable:FilterableComboBox.ItemContainerStyle>

                                    <Style TargetType="{x:Type ComboBoxItem}">

                                        <Setter Property="HorizontalContentAlignment"   Value="Center"/>

                                        <Setter Property="VerticalContentAlignment"     Value="Center"/>

                                    </Style>

                                </Filterable:FilterableComboBox.ItemContainerStyle>

                                <Filterable:FilterableComboBox.Resources>

                                    <DataTemplate x:Key="SelectedTemplate">

                                        <TextBlock Text="{Binding Path=NumberOfCharge}"/>

                                    </DataTemplate>

                                    <DataTemplate x:Key="DropDownTemplate">

                                        <TextBlock Text="{Binding Path=DisplayMemberPath}"/>

                                    </DataTemplate>



                                    <ItemTemplateSelector:ComboBoxItemTemplateSelector x:Key="ItemTemplateSelector"
                                                                                            SelectedTemplate="{StaticResource SelectedTemplate}"
                                                                                            DropDownTemplate="{StaticResource DropDownTemplate}"
/>

                                </Filterable:FilterableComboBox.Resources>

                        </Filterable:FilterableComboBox>

Grüße
Neuer Beitrag 22.01.2020 15:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
KroaX KroaX ist männlich
myCSharp.de-Mitglied

avatar-4080.jpg


Dabei seit: 31.08.2009
Beiträge: 293
Herkunft: Köln


KroaX ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Erzeug den TemplateSelector doch mal etwas weiter oben in den Ressourcen des Parents und mach aus dem DynamicResource Verweis eine StaticResource.
Neuer Beitrag 22.01.2020 20:02 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Probier ich gleich mal aus, kann mir aber nicht vorstellen das es daran liegt. Das DropDownTemplate erkennt er ja und das wird auch ausgelöst, das SelectedTemplate wird allerdings nur einmal am Anfang wo es null ist ausgelöst, danach wenn man den Wert wechselt nicht, ich denke das es irgendwas mit dem SelectionChanged zu tun hat, weil dort ja einige Funktionen überschrieben werden. Und bei einer normalen ComboBox funktioniert der Aufruf ja auch, aber ich probiere es mal aus :)

Edit : unverändert

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _Cashisclay am 23.01.2020 08:42.

Neuer Beitrag 23.01.2020 07:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hier mal ein Bild zum ansehen. Im Dropdown greift es, nach der Selection nicht mehr.
(Wie gesagt bei der normalen ComboBox funktioniert es)

_Cashisclay hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt.png
Volle Bildgröße

Neuer Beitrag 23.01.2020 09:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Okay es liegt am IsEditable = true, so viel hab ich schon mal herausgefunden.

Edit : Okay, ich habs. Irgendwie beißt sich das mit dem ItemTemplateSelector und dem IsEditable, wenn man aber zusätzlich noch den TextSearch.TextPath mit angibt funktioniert es wieder.

Mich würde zwar interessieren wie das alles zusammenhängt, aber bin erstmal froh das es funktioniert.

Auch wenn es sich falsch anfühlt verwundert

Grüße

XML-Code:
                            <Filterable:FilterableComboBox  Grid.Column="2"
                                                                HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
                                                                    ItemsSource="{Binding ComboBoxWithdrawalSystemChargeItemsSource, UpdateSourceTrigger=PropertyChanged}"
                                                                        ItemTemplateSelector="{DynamicResource ItemTemplateSelector}"
                                                                            SelectedItem="{Binding ComboBoxWithdrawalSystemChargeSelectedItem, UpdateSourceTrigger=PropertyChanged}"
                                                                                TextSearch.TextPath="NumberOfCharge"
                                                            Style="{StaticResource BaseComboBox}"
>

                                <Filterable:FilterableComboBox.ItemContainerStyle>

                                    <Style TargetType="{x:Type ComboBoxItem}">

                                        <Setter Property="HorizontalContentAlignment"   Value="Center"/>

                                        <Setter Property="VerticalContentAlignment"     Value="Center"/>

                                    </Style>

                                </Filterable:FilterableComboBox.ItemContainerStyle>

                                <Filterable:FilterableComboBox.Resources>

                                    <DataTemplate x:Key="SelectedTemplate">

                                        <TextBlock Text="{Binding Path=NumberOfCharge}"/>

                                    </DataTemplate>

                                    <DataTemplate x:Key="DropDownTemplate">

                                        <TextBlock Text="{Binding Path=DisplayMemberPath}"/>

                                    </DataTemplate>



                                    <ItemTemplateSelector:ComboBoxItemTemplateSelector x:Key="ItemTemplateSelector"
                                                                                            SelectedTemplate="{StaticResource SelectedTemplate}"
                                                                                            DropDownTemplate="{StaticResource DropDownTemplate}"
/>

                                </Filterable:FilterableComboBox.Resources>

                        </Filterable:FilterableComboBox>

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von _Cashisclay am 23.01.2020 10:15.

Neuer Beitrag 23.01.2020 09:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 4 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 28.05.2020 06:02