【发布时间】:2014-01-06 14:37:54
【问题描述】:
我定义了一个名为 MainView 的 CustomControl,如下所示:
public class MainView : ContentControl
{
static MainView()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MainView), new FrameworkPropertyMetadata(typeof(MainView)));
}
public virtual void Show(MyClass obj)
{
this.DataContext = SomeMethodToGetListOfMyClass();
}
}
这是上述 CustomControl 的 Generic.xaml 代码
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:OneTouchCustomControlLib">
<Style TargetType="{x:Type local:MainView}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MainView}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid Name="Maingrid">
<DataGrid Name="dtMainView"
Margin="10,10,10,10"
RowHeight="20"
AutoGenerateColumns="True"
ItemsSource="{Binding}"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
Height="auto" Width="auto">
</DataGrid>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
在另一个项目中,我使用此 CustomControl 在堆栈面板中显示数据网格并成功地做到了。
现在,我想要的是,单击按钮时,我想从数据网格访问选定的项目/索引并进行进一步处理。我想我错过了一些东西。任何人都可以帮助这样做..?
提前致谢。
【问题讨论】:
标签: wpf datagrid custom-controls