WPF gridview кнопка колонка отключить только кнопку - PullRequest
0 голосов
/ 20 июля 2011

Мне нужно отключить кнопку gridview только при привязке данных или нажатии кнопки, потому что мне нужно отключить эту кнопку только для существующих записей, и когда пользователь добавляет новую запись, нужно активировать мою кнопку сетки.

вот мой код XAML,

                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Button Name="grdBtnAdd" Cursor="Hand"   Click="Button_Click_1" Width="20" Height="20" >

                                        <Button.Template>
                                            <ControlTemplate>
                                                <Border Style="{StaticResource borstyle}" BorderBrush="#282828"  BorderThickness=".5" CornerRadius="3" Name="bor"  >

                                                    <Image Width="20" Height="18" Source="/Images\plus1.png"></Image>
                                                </Border>

                                            </ControlTemplate>
                                        </Button.Template>
                                    </Button>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>

пожалуйста, помогите мне. Я нашел, как отключить кнопку после нажатия кнопки сетки. Мне нужен способ отключить кнопки сетки.

1 Ответ

0 голосов
/ 20 июля 2011

Если я правильно понял проблему, то должно работать следующее:

Свяжите свойство кнопки IsEnabled со свойством в модели представления.

<Button Name="grdBtnAdd" IsEnabled="{Binding IsNewRecordsAvailable}" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20">
...
</Button>

Установите viewModel как dataContext представлений:

Sub New()
    Me.Datacontext = new viewModel
End Sub

viewModel будет реализовывать INotifyPropertyChanged, и свойство будет выглядеть так:

 Private m_isNewRecordsAvailable As Boolean
    Public Property IsNewRecordsAvailable() As Boolean
        Get
            Return m_isNewRecordsAvailable
        End Get
        Set(ByVal value As Boolean)
            m_isNewRecordsAvailable = value
            NotifyPropertyChanged("IsNewRecordsAvailable")
        End Set
    End Property

Теперь, когда вы хотите включить или отключить кнопку, просто установите для IsNewRecordsAvailable значение true или false.

Вот еще несколько примеров:

http://msdn.microsoft.com/en-us/library/ms229614.aspx http://www.codeproject.com/KB/cs/BindBetterINotifyProperty.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...