Infragistics|Ultimate UI for WPF|如何為 XamDataGrid 新增連結列

infragistics log


要在 XamDataGrid 欄位中顯示鏈接,請覆寫 CellValuePresenter 的 ControlTemplate 並放置超鏈接。

使用欄位的 CellValuePresenterStyle 屬性指定已覆寫的樣式。

<Window.Resources>
    <!-- CellValuePresenterのControlTemplateをオーバーライドする -->
    <Style TargetType="{x:Type igDP:CellValuePresenter}" x:Key="LinkStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                    <TextBlock>
                        <!-- Hyperlinkを配置する -->
                        <Hyperlink 
                            RequestNavigate="Hyperlink_RequestNavigate" 
                            NavigateUri="{Binding Path=Value, RelativeSource={RelativeSource TemplatedParent}}">
                            <ContentControl>
                                <TextBlock Text="{TemplateBinding Value}"/>
                            </ContentControl>
                        </Hyperlink>
                    </TextBlock>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>

<!-- 中略 -->

<igDP:XamDataGrid>
    <igDP:XamDataGrid.FieldLayouts>
        <igDP:FieldLayout>
            <igDP:FieldLayout.Fields>
                <!-- FieldのCellValuePresenterStyleプロパティに、オーバライドしたStyleのインスタンスを指定する -->
                <igDP:Field Name="Link" Label="Link" CellValuePresenterStyle="{StaticResource LinkStyle}"/>
            </igDP:FieldLayout.Fields>
        </igDP:FieldLayout>
    </igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>




延伸閱讀
aa71435723的大頭照
Winston

Eggplant DAI 自動化測試專家。

留言