Click here to Skip to main content
14,267,388 members

Silverlight / WPF

 
PinnedHOW TO ANSWER A QUESTION PinPopular
Chris Maunder16-Jul-09 3:09
adminChris Maunder16-Jul-09 3:09 
PinnedHow to get an answer to your question Pin
Chris Maunder16-Jul-09 3:05
adminChris Maunder16-Jul-09 3:05 
QuestionWPF application displays differently in Windows 7 and Windows 10 Pin
Jakob Farian Krarup20hrs 39mins ago
memberJakob Farian Krarup20hrs 39mins ago 
QuestionWPF and Windows Forms at same time. Pin
michaelbarb15-Aug-19 5:12
membermichaelbarb15-Aug-19 5:12 
AnswerRe: WPF and Windows Forms at same time. Pin
Pete O'Hanlon15-Aug-19 5:39
protectorPete O'Hanlon15-Aug-19 5:39 
GeneralRe: WPF and Windows Forms at same time. Pin
michaelbarb15-Aug-19 6:15
membermichaelbarb15-Aug-19 6:15 
QuestionEnregistrer en RTF un RichTextBox / Save RTF RichTextBox Pin
dctc333-Aug-19 23:00
memberdctc333-Aug-19 23:00 
AnswerRe: Enregistrer en RTF un RichTextBox / Save RTF RichTextBox Pin
OriginalGriff3-Aug-19 23:05
protectorOriginalGriff3-Aug-19 23:05 
AnswerRe: Enregistrer en RTF un RichTextBox / Save RTF RichTextBox Pin
Gerry Schmitz4-Aug-19 6:51
mveGerry Schmitz4-Aug-19 6:51 
GeneralRe: Enregistrer en RTF un RichTextBox / Save RTF RichTextBox Pin
dctc335-Aug-19 23:54
memberdctc335-Aug-19 23:54 
GeneralRe: Enregistrer en RTF un RichTextBox / Save RTF RichTextBox Pin
Gerry Schmitz6-Aug-19 4:56
mveGerry Schmitz6-Aug-19 4:56 
QuestionListBox - Validate One or More Selections Pin
Kevin Marois22-Jul-19 9:30
professionalKevin Marois22-Jul-19 9:30 
QuestionWPF DataTemplateSelector Question Pin
Kevin Marois18-Jul-19 19:44
professionalKevin Marois18-Jul-19 19:44 
I have a Contacts control. On the left side is the list of contacts. I created two DataTempates for the list items in the Control's resources.

Above the list are two buttons, List View and Card View. When they are selected, I want to change the data template of the list items accordingly.

Here's a picture of Outlook Contacts showing the People button selected above the list. When one of the Current View buttons is selected, the list box items look different. This is what I'm looking for:
https://www.brycematheson.io/wp-content/uploads/2018/04/Image1_Blurred-1024x713.jpg

I have a DataTemplateSelector, but when it' called the container property is the ListItem. How do I know in the DataTemplateSelector what view mode was selected in the ViewModel?

By DataTemplateSelector
public class ContactViewDataTemplateSelector : DataTemplateSelector
{
    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        FrameworkElement element = container as FrameworkElement;

        ContactsView view = container as ContactsView;    //< View is Null at this point

        switch (view.ViewMode)
        {
            case ContactsView.ViewModes.Card:
                return element.FindResource("cardViewTemplate") as DataTemplate;
                break;

            case ContactsView.ViewModes.List:
                return element.FindResource("listViewTemplate") as DataTemplate;
                break;
        }

        return null;
    }
}
DataTemplates
<cls:ContactViewDataTemplateSelector x:Key="contactViewDataTemplateSelector" />

<DataTemplate x:Key="listViewTemplate">
    <TextBlock Text="{Binding DisplayName}"
                FontSize="18"/>
</DataTemplate>

<DataTemplate x:Key="cardViewTemplate">

<pre>
<Border Padding="2"
        Margin="2"
        BorderBrush="SteelBlue"
        BorderThickness="1"
        CornerRadius="5">

    <Grid>

        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <TextBlock Text="{Binding FullName}"
                    FontWeight="Bold"
                    Foreground="Black"
                    FontSize="18"/>

        <TextBlock Text="{Binding Title}"
                    Foreground="Black"
                    FontSize="18"/>

        <TextBlock Text="{Binding Company}"
                    Foreground="Black"
                    FontSize="18"/>

    </Grid>

</Border>



ListBox
<ListBox Grid.Row="0" 
            Grid.Column="0"
            ItemsSource="{Binding Contacts, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
            SelectedItem="{Binding SelectedContact, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
            ItemTemplateSelector="{StaticResource contactViewDataTemplateSelector}"
            MinWidth="175"
            Margin="2"/>
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.

AnswerRe: WPF DataTemplateSelector Question Pin
Richard Deeming19-Jul-19 1:07
mveRichard Deeming19-Jul-19 1:07 
GeneralRe: WPF DataTemplateSelector Question Pin
Kevin Marois19-Jul-19 16:01
professionalKevin Marois19-Jul-19 16:01 
GeneralRe: WPF DataTemplateSelector Question Pin
Kevin Marois19-Jul-19 16:39
professionalKevin Marois19-Jul-19 16:39 
AnswerWPF ListBox Drag and drop Security elevation issue. Pin
Alisaunder12-Jun-19 16:13
memberAlisaunder12-Jun-19 16:13 
QuestionUser Control - Dependancy property MVVM Pin
MichaelLuna10-Jun-19 14:33
memberMichaelLuna10-Jun-19 14:33 
QuestionContentPresenter and ghost Views\ViewModels Pin
F4r145-Jun-19 0:29
memberF4r145-Jun-19 0:29 
AnswerRe: ContentPresenter and ghost Views\ViewModels Pin
Gerry Schmitz5-Jun-19 6:40
mveGerry Schmitz5-Jun-19 6:40 
GeneralRe: ContentPresenter and ghost Views\ViewModels Pin
F4r145-Jun-19 9:22
memberF4r145-Jun-19 9:22 
GeneralRe: ContentPresenter and ghost Views\ViewModels Pin
Gerry Schmitz6-Jun-19 5:47
mveGerry Schmitz6-Jun-19 5:47 
Questiondeployment size with WPF on .NET Core Pin
Super Lloyd2-Jun-19 14:47
memberSuper Lloyd2-Jun-19 14:47 
AnswerRe: deployment size with WPF on .NET Core Pin
Mycroft Holmes2-Jun-19 16:02
memberMycroft Holmes2-Jun-19 16:02 
GeneralRe: deployment size with WPF on .NET Core Pin
Super Lloyd2-Jun-19 16:44
memberSuper Lloyd2-Jun-19 16:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.