Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 974783
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T03:29:17+00:00 2026-05-16T03:29:17+00:00

<ListView ItemsSource={Binding MyData}> <ListView.View> <GridView> <GridViewColumn Header=col1 DisplayMemberBinding={Binding Path=value1}> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock TextAlignment=Right Text={Binding

  • 0
<ListView ItemsSource="{Binding MyData}">
  <ListView.View>
    <GridView>
      <GridViewColumn Header="col1" DisplayMemberBinding="{Binding Path=value1}">
        <GridViewColumn.CellTemplate>
          <DataTemplate>
            <TextBlock TextAlignment="Right" Text="{Binding Path=value1}"/>
          </DataTemplate>
        </GridViewColumn.CellTemplate>
      </GridViewColumn>
      <GridViewColumn Header="col2">
        <GridViewColumn.CellTemplate>
          <DataTemplate>
            <TextBlock TextAlignment="Center" Text="{Binding Path=value2}"/>
          </DataTemplate>
        </GridViewColumn.CellTemplate>
      </GridViewColumn>
      <GridViewColumn Header="col3" DisplayMemberBinding="{Binding Path=value3}"/>
    </GridView>
  </ListView.View>
<ListView ItemsSource="{Binding MyData}">

col1 is supposed to be right-aligned. (Not working)
col2 is supposed to be center-aligned. (Working)
col3 is supposed to be left-aligned. (Working)

Is there a reason DisplayMemberBinding is overriding CellTemplate? If so, is there a fix for this (while still using DisplayMemberBinding)?

Edit: I ended up implementing it like this:

<Window xmlns:util="clr-namespace:TestProject.Util">
  <Window.Resources>
    <Style TargetType="ListViewItem">
      <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
    <Style TargetType="GridViewColumnHeader">
      <Setter Property="HorizontalContentAlignment" Value="Left"/>
    </Style>
    <DataTemplate x:Key="value1Template">
      <TextBlock TextAlignment="Right" Text="{Binding Path=value1}"/>
    </DataTemplate>
    <DataTemplate x:Key="value2Template">
      <TextBlock TextAlignment="Right" Text="{Binding Path=value2}"/>
    </DataTemplate>
  </Window.Resources>
  <Grid>
    <ListView ItemsSource="{Binding MyData}" IsSynchronizedWithCurrentItem="True" util:GridViewSort.Command="{Binding SortCommand}">
      <ListView.View>
        <GridView>
          <GridViewColumn Header="col1" CellTemplate="{StaticResource value1Template}" util:GridViewSort.PropertyName="value1"/>
          <GridViewColumn Header="col2" CellTemplate="{StaticResource value2Template}" util:GridViewSort.PropertyName="value2"/>
        </GridView>
      </ListView.View>
    </ListView>
  </Grid>
</Window>

In the code behind:

private RelayCommand sortCommand;
public ICommand SortCommand { get { return sortCommand ?? (sortCommand = new RelayCommand(Sort)); } }
private void Sort(object param)
{
  var propertyName = param as string;
  var view = CollectionViewSource.GetDefaultView(MyData);
  var direction = ListSortDirection.Ascending;
  if (view.SortDescriptions.Count > 0)
  {
    var currentSort = view.SortDescriptions[0];
    if (currentSort.PropertyName == propertyName)
      direction = currentSort.Direction == ListSortDirection.Ascending ? ListSortDirection.Descending : ListSortDirection.Ascending;
    view.SortDescriptions.Clear();
  }
  if (!string.IsNullOrEmpty(propertyName))
    view.SortDescriptions.Add(new SortDescription(propertyName, direction));
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T03:29:18+00:00Added an answer on May 16, 2026 at 3:29 am

    DisplayMemberBinding has the highest priority. You can not use it combined with CellTemplate. See here in the remarks section.

    If you want to right-or center-align the content, you must declare the CellTemplate with the binding (as you did) and remove the DisplayMemberBinding-attribute. If you also want to change the column header alignment, you must also set the GridViewColumn.Header-property.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My ListView is petty simple: <ListView ItemsSource={Binding Path=ActiveCounters}> <ListView.View> <GridView> <GridViewColumn Header=Name DisplayMemberBinding={Binding Path=Name}
A simple WPF ListView: <ListView Name=recordContainer ItemsSource={Binding Path=MyCollection}> <GridView> <GridViewColumn Width=260 Header=Name DisplayMemberBinding={Binding Path=Name}/>
<ListView ItemsSource={Binding} Name=myView> <ListView.View> <GridView> <GridViewColumn DisplayMemberBinding={Binding fieldA} Header=Field A /> <GridViewColumn DisplayMemberBinding={Binding fieldB}
I've following ListView Item (in a WPF Form): <ListView Name=listViewTeam ItemsSource={Binding Path=TeamList}> <ListView.View> <GridView
<Grid> <ListView ItemsSource=....> <ListView.View> <GridView> <GridViewColumn ......../> </GridView> </ListView.View> </ListView> </Grid> When there are
In a WPF application I have a ListView: <ListView Name=ItemSelList ItemsSource={Binding ItemColl} SelectionChanged=ItemSelList_SelectionChanged> <ListView.View>
this is my xaml: <ListView Name=myListView ItemsSource={Binding ElementName=IndexPage, Path=SeriesCollection} ScrollViewer.HorizontalScrollBarVisibility=Disabled IsSynchronizedWithCurrentItem=True SelectionChanged=handleSelected> <ListView.ItemsPanel >
I have a list of items displayed as a ListBox. <ListView ItemsSource={Binding ListOfSomeItems}> <ListView.View>
I have the following code in xaml: <ListView Name=listView1 IsSynchronizedWithCurrentItem=True > <ListView.View> <GridView> <GridViewColumn
I have a Listview, such this: <ListView ItemsSource={Binding ...} > <ListView.ItemContainerStyle> <Style TargetType=ListViewItem> <Setter

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.