powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Button не отображается из-за DataGrid
2 сообщений из 2, страница 1 из 1
Button не отображается из-за DataGrid
    #38644187
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

Имеется следующий xaml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<Window x:Class="DataGridIssue.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:DataGridIssue"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <vm:ViewModel x:Key="ViewModel"/>
    </Window.Resources>
    <Grid>
        <DockPanel VerticalAlignment="Top">
            <Button DockPanel.Dock="Top" Content="Test button 1" HorizontalAlignment="Left"/>
            <DataGrid DockPanel.Dock="Top" AutoGenerateColumns="True" ItemsSource="{Binding Source={StaticResource ViewModel}, Path=TestList}"/>
            <Button DockPanel.Dock="Top" HorizontalAlignment="Left" Content="Test button 2"/>
        </DockPanel>
    </Grid>
</Window>



И C# код для него:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;

namespace DataGridIssue
{
    public class ViewModel
    {
        public ObservableCollection<Test> TestList { get; set; }

        public ViewModel()
        {
            TestList = new ObservableCollection<Test>();

            for (int i = 1; i <= 100; i++)
            {
                var item = new Test();
                item.TestString = "Element " + i.ToString();
                TestList.Add(item);
            }
        }
    }

    public class Test
    {
        public string TestString { get; set; }
    }
}



Вроде бы все предельно просто, но Test button 2 не отображается. Я так понимаю, что кнопка всегда оказывается за пределами окна. Как это побороть?
...
Рейтинг: 0 / 0
Button не отображается из-за DataGrid
    #38644273
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось решить следующим образом:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<Window x:Class="DataGridIssue.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:DataGridIssue"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <vm:ViewModel x:Key="ViewModel"/>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <Button Grid.Row="0" Content="Test button 1" HorizontalAlignment="Left"/>
        <DataGrid Grid.Row="1" AutoGenerateColumns="True" ItemsSource="{Binding Source={StaticResource ViewModel}, Path=TestList}"/>
        <Button Grid.Row="2" HorizontalAlignment="Left" Content="Test button 2"/>
    </Grid>
</Window>

...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Button не отображается из-за DataGrid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]