DataGridのXMLから生成されたハイパーリンクに一意のコマンドを渡す必要があります。XMLから文字列を変換してICommandを返す方法は?
このようにハイパーリンクを直接指し示すと、そのコードの中にコマンドがあります。
<Hyperlink Style="{DynamicResource DataGridCellStyleHyperlink}" Command="{x:Static local:MainWindow.LaunchFirstCommand}">
私は似ていますが、セル内の各ハイパーリンクに異なるコマンドを動的に割り当てる必要があります。すべてのハイパーリンクはXMLから生成されます。私はそれを行うコンバータのいくつかの並べ替えを持つ必要があると思う。私はそれを動作させるのに問題があります。いかなるアドバイスも高く評価されます。前もって感謝します。
ここには、DataGrid内にコンテンツを生成するXMLDataProdiderコードがあります。文字列として 'Command'値を渡そうとしました:
<XmlDataProvider x:Key="MoreInfoDataGridLocal" XPath="MoreInfoTiles/Servers">
<x:XData>
<MoreInfoTiles xmlns="">
<Servers Name="Test1" Status="003" Name2="Connection 2" Status2="assigned" />
<Servers Name="Test2" Status="Not activated" Name2="Address" Status2="test" />
<Servers Name="Test3" Status="Disabled" Name2="Address" Status2="None" Command="x:Static local:MainWindow.LaunchFirstCommand"/>
</MoreInfoTiles>
</x:XData>
</XmlDataProvider>
私は正常にテキスト文字列を生成できますが、コマンドは何もしません。以下は、私がデータグリッド内のハイパーリンクにそれをフックアップコードです:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock >
<Hyperlink Style="{DynamicResource DataGridCellStyleHyperlink}" Command="{Binding [email protected]}" >
<TextBlock Text="{Binding [email protected]}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
このIValueConverterのサンプルがあるかどうかは疑問です。ありがとうございました。 – vladc77
サンプルコンバータが追加されました。 –
超クールです。今は完璧に動作しています。大いに感謝する!私はあなたの助けに非常に感謝します! – vladc77