Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据网格中的可单击文本_C#_Wpf_Xaml_Datagrid - Fatal编程技术网

C# 数据网格中的可单击文本

C# 数据网格中的可单击文本,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我正在尝试创建一个DataGrid,其中包含可单击的文本。在我提供的示例中,我希望单击出价或要价,并触发一个处理程序。我想这就像有一个超链接触发一个函数而不是浏览器。处理程序将用于使用位于所选Bid或Ask行中的数据填充列表。我不知道如何处理这个问题,任何建议都将不胜感激 我现在所拥有的: XAML C 若您只希望按钮用于列标题,则应使用columnheaderstyle并将模板设置为按钮,否则可以使用celltemplate 下面的代码应该按照您的要求工作。我只为列标题实现了它 <Da

我正在尝试创建一个DataGrid,其中包含可单击的文本。在我提供的示例中,我希望单击出价或要价,并触发一个处理程序。我想这就像有一个超链接触发一个函数而不是浏览器。处理程序将用于使用位于所选Bid或Ask行中的数据填充列表。我不知道如何处理这个问题,任何建议都将不胜感激

我现在所拥有的:

XAML

C


若您只希望按钮用于列标题,则应使用columnheaderstyle并将模板设置为按钮,否则可以使用celltemplate

下面的代码应该按照您的要求工作。我只为列标题实现了它

 <DataGrid ItemsSource="{Binding DataGridData}">
        <DataGrid.ColumnHeaderStyle>
            <Style TargetType="DataGridColumnHeader">
                <Style.Setters>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Button Content="{Binding}">
                                    <Button.Style>
                                        <Style      TargetType="Button">
                                            <Setter  Property="Template">
                                                <Setter.Value>
                                                    <ControlTemplate  TargetType="Button">
                                                        <TextBlock  TextDecorations="Underline" FontWeight="Bold">
                        <ContentPresenter  />
                                                        </TextBlock>
                                                    </ControlTemplate>
                                                </Setter.Value>
                                            </Setter>
                                        </Style>
                                    </Button.Style>
                                </Button>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style.Setters>
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>

我想你在找超链接按钮
public class Option
{
    public int Strike { get; set; }
    public int Bid { get; set; }
    public int Ask { get; set; }

    public Option()
    {
    }
}

public class Options : List<Option>
{
    public Options()
    {

        this.Add(new Option() { Strike = 120, Bid = 20, Ask = 25 });
        this.Add(new Option() { Strike = 130, Bid = 30, Ask = 35 });
        this.Add(new Option() { Strike = 140, Bid = 40, Ask = 45 });           
    }
}  
}
 <DataGrid ItemsSource="{Binding DataGridData}">
        <DataGrid.ColumnHeaderStyle>
            <Style TargetType="DataGridColumnHeader">
                <Style.Setters>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Button Content="{Binding}">
                                    <Button.Style>
                                        <Style      TargetType="Button">
                                            <Setter  Property="Template">
                                                <Setter.Value>
                                                    <ControlTemplate  TargetType="Button">
                                                        <TextBlock  TextDecorations="Underline" FontWeight="Bold">
                        <ContentPresenter  />
                                                        </TextBlock>
                                                    </ControlTemplate>
                                                </Setter.Value>
                                            </Setter>
                                        </Style>
                                    </Button.Style>
                                </Button>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style.Setters>
            </Style>
        </DataGrid.ColumnHeaderStyle>
    </DataGrid>