Member 13440999 Ответов: 0

Текст на всплывающей подсказке к ячейке в datagrid


Извините меня за мой английский, я из России, проблема моего кода связана с всплывающей подсказкой в таблице Datagrid на ячейке. Код имеет один момент (FallbackValue), но в нем есть два, но, по крайней мере, для меня:
1. Не удается получить цвет, чтобы изменить FallBackValue, а в случае ее изменения после записи остается прикрепленной к цвету FallBackValue
2. Если вы поместите курсор в ячейку для редактирования, FallbackValue исчезнет во всех остальных ячейках.
Помогите решить проблему, конечно, если я пошел правильным путем.
Спасибо.

Мой код:

<pre>public partial class MainWindow : Window
    {
        ObservableCollection<Person> person = new ObservableCollection<Person>();
        public MainWindow()
        {
            DataGridCell cell = new DataGridCell();
            InitializeComponent();
            if (person == null)
                person = new ObservableCollection<Person>();
            DGR.ItemsSource = person;
        }


class Person
   {
       private string name;
       private string secondName;
       public string Name
       {
           get { return name; }
           set
           {
               name = value;
           }

       }
       public string SecondName
       {
           get { return secondName; }
           set
           {
               secondName = value;
           }
       }

<pre><DataGrid x:Name="DGR" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Name">
                    <DataGridTextColumn.ElementStyle>
                        <Style TargetType="TextBlock">
                            <Setter Property="Text" Value="{Binding Name, FallbackValue=Name}"/>
                        </Style>
                    </DataGridTextColumn.ElementStyle>

                    <DataGridTextColumn.EditingElementStyle>
                        <Style TargetType="{x:Type TextBox}">
                            <Setter Property="Text" Value="{Binding Name,
                            ValidatesOnDataErrors=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"/>
                        </Style>
                    </DataGridTextColumn.EditingElementStyle>
                </DataGridTextColumn>
                <DataGridTextColumn Header="SecondName">
                    <DataGridTextColumn.ElementStyle>
                        <Style TargetType="TextBlock">
                            <Setter Property="Text" Value="{Binding SecondName, FallbackValue=SecondName}"/>
                        </Style>
                    </DataGridTextColumn.ElementStyle>

                    <DataGridTextColumn.EditingElementStyle>
                        <Style TargetType="{x:Type TextBox}">
                            <Setter Property="Text" Value="{Binding SecondName,
                            ValidatesOnDataErrors=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"/>
                        </Style>
                    </DataGridTextColumn.EditingElementStyle>
                </DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>


Что я уже пробовал:

Параметры попробовал, ElementStyle, EditingElementStyle, в textBlock set FallBackValue=, как текст в новой строке появляется, но после редактирования остается цвет, который ссылается на FallBackValue.

0 Ответов