首页 > 代码库 > CommandParameter binding Introduction:
CommandParameter binding Introduction:
<Window x:Class="OddEvenRows.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" Height="400" Width="300" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" Title="JackSlater" x:Name="jackWindow"> <Window.Resources> <FrameworkElement x:Key="ProxyElement" DataContext="{Binding Path=.,ElementName=noTB01}"/> </Window.Resources> <StackPanel> <ContentControl Visibility="Collapsed" Content="{StaticResource ProxyElement}"/> <StackPanel> <TextBlock x:Name="noTB01" Text="No.1"></TextBlock> <TextBlock x:Name="noTB02" Text="No.2"></TextBlock> <Button x:Name="testBtn" Content="Hello"></Button> </StackPanel> <Grid> <dxg:GridControl x:Name="gridControl" Grid.Row="2" MaxHeight="500" ItemsSource="{Binding MyList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="Index"> <dxg:GridColumn.CellTemplate> <DataTemplate> <dxe:ComboBoxEdit Name="PART_Editor" IsTextEditable="False" > <dxe:ComboBoxEditItem x:Name="readyCombox" Content="ClickDownComboxItem"> <i:Interaction.Triggers> <i:EventTrigger EventName="PreviewMouseDown"> <cmd:EventToCommand Command="{Binding Path=View.DataContext.ImportCommand}" CommandParameter="{Binding Path=DataContext.Text, Source={StaticResource ProxyElement}}"/> </i:EventTrigger> </i:Interaction.Triggers> </dxe:ComboBoxEditItem> </dxe:ComboBoxEdit> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView AutoWidth="True"/> </dxg:GridControl.View> </dxg:GridControl> </Grid> </StackPanel></Window>
<Window x:Class="OddEvenRows.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" Height="400" Width="300" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" Title="JackSlater" x:Name="jackWindow"> <dxg:GridControl x:Name="gridControl" ItemsSource="{Binding MyList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="Index"> <dxg:GridColumn.CellTemplate> <DataTemplate> <dxe:ComboBoxEdit EditValue="{Binding Data.Index,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsTextEditable="False" > <dxe:ComboBoxEditItem x:Name="readyCombox" Content="ClickDownComboxItem"> <i:Interaction.Triggers> <i:EventTrigger EventName="PreviewMouseDown"> <cmd:EventToCommand Command="{Binding Path=View.DataContext.ImportCommand}" CommandParameter="{Binding Path=View.DataControl.Parent}"/> </i:EventTrigger> </i:Interaction.Triggers> </dxe:ComboBoxEditItem> </dxe:ComboBoxEdit> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView AutoWidth="True"/> </dxg:GridControl.View> </dxg:GridControl></Window>
<Window x:Class="OddEvenRows.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" Height="400" Width="300" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" Title="JackSlater" x:Name="jackWindow"> <Window.Resources> <!--<FrameworkElement x:Key="ProxyElement" DataContext="{Binding noTB01}"/>--> <TextBlock x:Key="ProxyElement" DataContext="{Binding Path=.,ElementName=noTB01}"/> </Window.Resources> <StackPanel> <ContentControl Visibility="Collapsed" Content="{StaticResource ProxyElement}"/> <StackPanel> <TextBlock x:Name="noTB01" Text="No.1"></TextBlock> <TextBlock x:Name="noTB02" Text="No.2"></TextBlock> <Button x:Name="testBtn" Content="Hello"></Button> </StackPanel> <Grid> <dxg:GridControl x:Name="gridControl" Grid.Row="2" MaxHeight="500" ItemsSource="{Binding MyList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="Index"> <dxg:GridColumn.CellTemplate> <DataTemplate> <dxe:ComboBoxEdit Name="PART_Editor" IsTextEditable="False" > <dxe:ComboBoxEditItem x:Name="readyCombox" Content="ClickDownComboxItem"> <i:Interaction.Triggers> <i:EventTrigger EventName="PreviewMouseDown"> <cmd:EventToCommand Command="{Binding Path=View.DataContext.ImportCommand}" CommandParameter="{Binding Path=DataContext.Text,Source={StaticResource ProxyElement}}"/> </i:EventTrigger> </i:Interaction.Triggers> </dxe:ComboBoxEditItem> </dxe:ComboBoxEdit> </DataTemplate> </dxg:GridColumn.CellTemplate> </dxg:GridColumn> </dxg:GridControl.Columns> <dxg:GridControl.View> <dxg:TableView AutoWidth="True"/> </dxg:GridControl.View> </dxg:GridControl> </Grid> </StackPanel></Window>
http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/
http://stackoverflow.com/questions/7660967/wpf-error-cannot-find-govering-frameworkelement-for-target-element
http://stackoverflow.com/questions/7660967/wpf-error-cannot-find-govering-frameworkelement-for-target-element
DevExpressCenter:
http://www.devexpress.com/Support/Center/Question/Details/T129527
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。