Hi,
I have been looking at the Command example in the wpf examples and I'm trying to bind a button click to a Grid Command
I have a RibbonBar and on the RibbonBar I have some navigation buttons (First,Last,Next,Previous)
I then have a RadTabControl with a few tab pages on I have a ContentTemplateSelector which depending on a value will add a RadGridView with set columns to the tab page.
it is this GridView i'm trying to add the bindings too.
Hope I have explained what i'm trying to do :)
thanks David
I have been looking at the Command example in the wpf examples and I'm trying to bind a button click to a Grid Command
I have a RibbonBar and on the RibbonBar I have some navigation buttons (First,Last,Next,Previous)
I then have a RadTabControl with a few tab pages on I have a ContentTemplateSelector which depending on a value will add a RadGridView with set columns to the tab page.
it is this GridView i'm trying to add the bindings too.
Hope I have explained what i'm trying to do :)
thanks David
4 Answers, 1 is accepted
0
Hi David,
Yoan
the Telerik team
Can I ask you to describe with details what actually is your problem? It will be great if you can send us a sample project by opening a new support ticket.
Yoan
the Telerik team
Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.
0
David
Top achievements
Rank 2
answered on 07 Sep 2012, 03:25 PM
Hi,
There isn't actually an issue, I'm just new to WPF and cant work out how I should Bind the button click in the RadRibbonMenu to the RadGridView from a DataTemplate.
The Idea is that the Window will open a file and depending on the file there will be 3 to 6 tabs in the Tab Control each tab will have a GridView on them. I want to be able to bind the buttons on the RadRibbonMenu to the GridView in the Selected Tab.
Thanks
In my Window.xml I have
The DataTemplate being selected is SpellRefCostAPCTemplate for the first tab and ActivityRefCostAPCTemplate for the second tab.
There isn't actually an issue, I'm just new to WPF and cant work out how I should Bind the button click in the RadRibbonMenu to the RadGridView from a DataTemplate.
The Idea is that the Window will open a file and depending on the file there will be 3 to 6 tabs in the Tab Control each tab will have a GridView on them. I want to be able to bind the buttons on the RadRibbonMenu to the GridView in the Selected Tab.
Thanks
In my Window.xml I have
Window x:Class="WPFDataImport.MainWindow"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
xmlns:local="clr-namespace:WPFDataImport"
xmlns:vm="clr-namespace:ViewModels;assembly=ViewModels"
Title="MainWindow" Height="350" Width="525">
<
Window.DataContext
>
<!-- Declaratively create an instance of our SongViewModel -->
<
vm:MainWindowViewModel
/>
</
Window.DataContext
>
<
Window.Resources
>
<
ResourceDictionary
>
<
ResourceDictionary.MergedDictionaries
>
<
ResourceDictionary
Source
=
"FileTemplates.xaml"
>
</
ResourceDictionary
>
</
ResourceDictionary.MergedDictionaries
>
<
DataTemplate
x:Key
=
"TabItemTemplate"
>
<
StackPanel
Orientation
=
"Horizontal"
VerticalAlignment
=
"Center"
>
<
TextBlock
Text
=
"{Binding Header}"
/>
</
StackPanel
>
</
DataTemplate
>
</
ResourceDictionary
>
</
Window.Resources
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
Height
=
"*"
/>
</
Grid.RowDefinitions
>
<
telerik:RadRibbonView
x:Name
=
"MainRibbonView"
ApplicationName
=
"Activity Data Import"
Grid.Row
=
"0"
MinimizeButtonVisibility
=
"Visible"
HelpButtonVisibility
=
"Visible"
IsBackstageOpen
=
"False"
>
<
telerik:RadRibbonView.ApplicationButtonContent
>
<
TextBlock
Text
=
"File"
VerticalAlignment
=
"Center"
HorizontalAlignment
=
"Center"
Margin
=
"0 4 0 0"
/>
</
telerik:RadRibbonView.ApplicationButtonContent
>
<
telerik:RadRibbonView.Backstage
>
<
telerik:RadRibbonBackstage
>
</
telerik:RadRibbonBackstage
>
</
telerik:RadRibbonView.Backstage
>
<
telerik:RadRibbonTab
Header
=
"Home"
telerik:KeyTipService.AccessText
=
"H"
>
<
telerik:RadRibbonGroup
Header
=
"Clipboard"
>
<
telerik:RadRibbonSplitButton
Text
=
"Paste"
SmallImage
=
"{Binding Paste_16}"
LargeImage
=
"{Binding Paste_32}"
Size
=
"Large"
telerik:ScreenTip.Title
=
"Paste"
telerik:ScreenTip.Description
=
"Paste the contents of the Clipboard."
telerik:KeyTipService.AccessText
=
"V"
>
<
telerik:RadRibbonSplitButton.DropDownContent
>
<
telerik:RadMenu
>
<
telerik:RadMenuItem
Header
=
"Paste"
telerik:KeyTipService.AccessText
=
"S"
>
<
telerik:RadMenuItem.Icon
>
<
Image
Width
=
"16"
Height
=
"16"
Stretch
=
"Fill"
Source
=
"{Binding Paste_16}"
/>
</
telerik:RadMenuItem.Icon
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Header
=
"Paste Append"
telerik:KeyTipService.AccessText
=
"H"
>
<
telerik:RadMenuItem.Icon
>
<
Image
Stretch
=
"None"
Source
=
"{Binding Pastespecia}"
/>
</
telerik:RadMenuItem.Icon
>
</
telerik:RadMenuItem
>
</
telerik:RadMenu
>
</
telerik:RadRibbonSplitButton.DropDownContent
>
</
telerik:RadRibbonSplitButton
>
<
StackPanel
Orientation
=
"Vertical"
>
<
telerik:RadRibbonButton
Text
=
"Cut"
SmallImage
=
"{Binding Cut}"
CollapseToSmall
=
"WhenGroupIsMedium"
telerik:ScreenTip.Title
=
"Cut"
telerik:ScreenTip.Description
=
"Cut the selection from the document and put it on the Clipboard."
/>
<
telerik:RadRibbonButton
Text
=
"Copy"
SmallImage
=
"{Binding Copy_16}"
CollapseToSmall
=
"WhenGroupIsMedium"
telerik:ScreenTip.Title
=
"Copy"
telerik:ScreenTip.Description
=
"Copy the selection and put it on the Clipboard."
/>
</
StackPanel
>
</
telerik:RadRibbonGroup
>
<
telerik:RadRibbonGroup
Header
=
"Records"
>
<
StackPanel
Orientation
=
"Vertical"
>
<
StackPanel
Height
=
"40"
Orientation
=
"Horizontal"
>
<
telerik:RadRibbonButton
Name
=
"First"
Content
=
"|<"
Width
=
"30"
/>
<
telerik:RadRibbonButton
Name
=
"Previouse"
Content
=
"<"
Width
=
"30"
/>
<
telerik:RadRibbonButton
Name
=
"Next"
Content=">" Width="30"/>
<
telerik:RadRibbonButton
Name
=
"Last"
Content=">|" Width="30" />
</
StackPanel
>
<
TextBox
Name
=
"CurrentRecord"
Text
=
"{Binding SpellRecordCount,Mode=OneWay}"
/>
</
StackPanel
>
</
telerik:RadRibbonGroup
>
<
telerik:RadRibbonGroup
Header
=
"Data"
>
<
telerik:RadRibbonButton
Text
=
"Save"
SmallImage
=
"{Binding Save_16}"
LargeImage
=
"{Binding Save_32}"
Size
=
"Large"
telerik:ScreenTip.Title
=
"Save"
telerik:ScreenTip.Description
=
"Save the data to a file."
telerik:KeyTipService.AccessText
=
"S"
>
</
telerik:RadRibbonButton
>
<
StackPanel
Orientation
=
"Vertical"
>
<
telerik:RadRibbonButton
Text
=
"Add"
SmallImage
=
"{Binding Add}"
CollapseToSmall
=
"WhenGroupIsMedium"
telerik:ScreenTip.Title
=
"Add"
telerik:ScreenTip.Description
=
"Add a new data line."
telerik:KeyTipService.AccessText
=
"A"
/>
<
telerik:RadRibbonButton
Text
=
"Delete"
SmallImage
=
"{Binding Delete_16}"
CollapseToSmall
=
"WhenGroupIsMedium"
telerik:ScreenTip.Title
=
"Delete"
telerik:ScreenTip.Description
=
"Delete the selected data."
telerik:KeyTipService.AccessText
=
"D"
/>
</
StackPanel
>
</
telerik:RadRibbonGroup
>
</
telerik:RadRibbonTab
>
</
telerik:RadRibbonView
>
<
telerik:RadTabControl
x:Name
=
"tabControl"
Grid.Row
=
"1"
ItemsSource
=
"{Binding Tabs}"
OverflowMode
=
"Wrap"
ItemTemplate
=
"{StaticResource TabItemTemplate}"
ContentTemplateSelector
=
"{StaticResource dataFileTemplateSelector}"
SelectedItem
=
"{Binding CurrentTab, Mode=TwoWay}"
>
</
telerik:RadTabControl
>
</
Grid
>
</
Window
>
The DataTemplate being selected is SpellRefCostAPCTemplate for the first tab and ActivityRefCostAPCTemplate for the second tab.
<
DataTemplate
x:Key
=
"SpellRefCostAPCTemplate"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
telerik:RadGridView
x:Name
=
"SpellDataGrid"
AutoGenerateColumns
=
"False"
ItemsSource
=
"{Binding DataGridViewModel.ContentData}"
CanUserInsertRows
=
"True"
ShowInsertRow
=
"True"
SelectionUnit
=
"FullRow"
SelectionMode
=
"Extended"
IsSynchronizedWithCurrentItem
=
"True"
Grid.Row
=
"0"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
Header
=
"Column1"
DataMemberBinding
=
"{Binding Column1}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column2"
DataMemberBinding
=
"{Binding Column2}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column3"
DataMemberBinding
=
"{Binding Column3}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column4"
DataMemberBinding
=
"{Binding Column4}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column5"
DataMemberBinding
=
"{Binding Column5}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column6"
DataMemberBinding
=
"{Binding Column6}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column7"
DataMemberBinding
=
"{Binding Column7}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column8"
DataMemberBinding
=
"{Binding Column8}"
IsVisible
=
"False"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
<
telerik:RadDataPager
Grid.Row
=
"1"
x:Name
=
"SpellDataPager"
PageSize
=
"40"
BorderThickness
=
"1,0,1,1"
Source
=
"{Binding Items, ElementName=SpellDataGrid}"
DisplayMode
=
"FirstLastPreviousNext"
AutoEllipsisMode
=
"Both"
NumericButtonCount
=
"10"
IsTotalItemCountFixed
=
"False"
/>
</
Grid
>
</
DataTemplate
>
<
DataTemplate
x:Key
=
"ActivityRefCostAPCTemplate"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
telerik:RadGridView
x:Name
=
"ActivityDataGrid"
AutoGenerateColumns
=
"False"
ItemsSource
=
"{Binding ContentData}"
CanUserInsertRows
=
"True"
ShowInsertRow
=
"True"
SelectionUnit
=
"FullRow"
SelectionMode
=
"Extended"
IsSynchronizedWithCurrentItem
=
"True"
Grid.Row
=
"0"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
Header
=
"Column1"
DataMemberBinding
=
"{Binding Column1}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column2"
DataMemberBinding
=
"{Binding Column2}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column3"
DataMemberBinding
=
"{Binding Column3}"
/>
<
telerik:GridViewDataColumn
Header
=
"Column4"
DataMemberBinding
=
"{Binding Column4}"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
<
telerik:RadDataPager
Grid.Row
=
"1"
x:Name
=
"ActivityDataPager"
PageSize
=
"40"
BorderThickness
=
"1,0,1,1"
Source
=
"{Binding Items, ElementName=ActivityDataGrid}"
DisplayMode
=
"FirstLastPreviousNext"
AutoEllipsisMode
=
"Both"
NumericButtonCount
=
"10"
IsTotalItemCountFixed
=
"False"
/>
</
Grid
>
</
DataTemplate
>
0
Hi David,
Please accept my apology for the delayed response. I attached a sample solution to get you started with the described scenario. Please have a look at it and let me know if it works for you or if I've missed something.
Regards,
Tina Stancheva
the Telerik team
Please accept my apology for the delayed response. I attached a sample solution to get you started with the described scenario. Please have a look at it and let me know if it works for you or if I've missed something.
Regards,
Tina Stancheva
the Telerik team
Time to cast your vote for Telerik! Tell DevPro Connections and Windows IT Pro why Telerik is your choice. Telerik is nominated in a total of 25 categories.
0
David
Top achievements
Rank 2
answered on 12 Sep 2012, 10:11 PM
Hi,
Thanks that example explains exactly what I needed to know :)
Thanks
Daivd
Thanks that example explains exactly what I needed to know :)
Thanks
Daivd