ListView с кастомным DataTemplate

В общем, хочу сделать так, чтобы одна строчка имела 2 колонки: TextBox и CheckBox

Сделал я все вот так:

<ListView Grid.Row="5" Grid.Column="1" MinHeight="100" ItemsSource="{Binding SelectedColumns}" ScrollViewer.VerticalScrollBarVisibility="Visible" >
            <ListView.ItemTemplate>
                <DataTemplate>
                    <DockPanel >
                        <TextBox DockPanel.Dock="Left" IsReadOnly="True" IsReadOnlyCaretVisible="False" Width="200" Text="{Binding Item.ColumnName}"></TextBox>
                        <CheckBox DockPanel.Dock="Right" Width="20" IsChecked="{Binding Checked}"></CheckBox>
                    </DockPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

И получил вот такой результат: введите сюда описание изображения

Который не совсем красивый и хотелось бы 90% отвести первому элементу, а остальное CheckBox.

Как я это могу сделать? Вроде, явное задание ширины и высоты- это не совсем корректно, так как все должно само компоноваться.

Пробовал UniformGrid , но он все равномерно растягивает, чего я не хочу...


Ответы (1 шт):

Автор решения: VladD

Как-то у меня работает:

<ListView MinHeight="100" ItemsSource="{Binding SelectedColumns}"
          ScrollViewer.VerticalScrollBarVisibility="Visible"
          ScrollViewer.HorizontalScrollBarVisibility="Disabled"
          HorizontalContentAlignment="Stretch">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid HorizontalAlignment="Stretch">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="9*"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <TextBox Grid.Column="0" IsReadOnly="True" IsReadOnlyCaretVisible="False"
                                         Text="{Binding Item.ColumnName}"></TextBox>
                <CheckBox Grid.Column="1" IsChecked="{Binding Checked}"></CheckBox>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Результат: картинка

→ Ссылка