2011-06-26 11 views
2

バックグラウンドを与えるために、私はSilverlight + MVVMとPRISMを使用しています。Silverlightでハイパーリンクボタンのコマンドを公開する方法Telerik Radgrid

グリッドで表示するマスターデータがあり、詳細データへのハイパーリンクとして最初の列があります。 ハイパーリンクボタンのコマンドを公開しようとしていますが、うまく動作しないようです。

ここに私の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

私が間違っていたことがわかりました。私は、ViewModelのModelオブジェクトをグリッドにバインドしていました.ViewModelでバインディングコマンドを書いたときに、データコンテキストをviewmodelに変更する必要があることを示しています。

私は最終的にデリゲートを書いて、Modelクラスでイベントを公開し、ViewModelでそのイベントを購読して、カスタムEventHandlerArgsでそれを処理しました。

-1

結合はシームレスで、あなたがコントロールに名前を付ける場合は、隣接のViewModelの方法は、同様にSelectDetailを命名しなければならない、のは「SelectDetail」としましょう。さらに、CanSelectDetailという名前のブール値プロパティを作成すると、IsEnabled Hyperliknのプロパティへの 'オートマティック'バインディングがあります。

+0

Pauloさん、ありがとうございますが、私はCaliburn Microを使用していません。 – whihathac

関連する問題