Как выставить команды для кнопки с гиперссылкой в ​​Silverlight Telerik Radgrid - PullRequest
2 голосов
/ 26 июня 2011

В качестве фона я использую Silverlight + MVVM и PRISM.

У меня есть некоторые основные данные для отображения в сетке и первый столбец в виде гиперссылки на подробные данные.Я пытаюсь выставить какую-то команду для кнопки с гиперссылкой, но она не работает нормально.

Вот мой XAML ->

            <telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn Header="Detail ID">
                    <telerik:GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <HyperlinkButton Content="{Binding DetailID}" 
                                             Command="{Binding SelectGridItemCommand}" 
                     CommandParameters={Binding}
                                             />
                        </DataTemplate>
                    </telerik:GridViewColumn.CellTemplate>
                </telerik:GridViewDataColumn>

        ... [other columns]

</<telerik:RadGridView.Columns>

В основном, я хочу выполнить некоторую обработку текста, который присутствует в имени столбца, и перейти на страницу сведений.

Может ли кто-нибудь помочь мне здесь ..

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Я обнаружил, что я делаю неправильно.Я связал объект Model в viewModel с Grid, и когда я написал команду привязки в ViewModel, я не указал, что ему нужно изменить контекст данных для моей viewmodel.

В любом случае, в конце концов я написал делегата, открыл событие в классе Model и подписался на это событие в ViewModel, где я обработал его с помощью своего пользовательского EventHandlerArgs.

0 голосов
/ 26 июня 2011

При использовании Caliburn Micro привязка является бесшовной, если вы называете элемент управления, скажем, «SelectDetail», метод смежного ViewModel также должен называться SelectDetail.Более того, если вы создадите логическое свойство с именем CanSelectDetail, то будет иметь место «автоматическое» связывание со свойством IsEnabled Hyperlikn

...