예제 #1
0
        public virtual void CommandInDataTemplate()
        {
            string xaml  = @"
<Grid>
    <Grid.Resources>
        <DataTemplate x:Key=""temp"">
            <Button Command=""{b:DXCommand 'Method($test:BindingTests_a.StaticIntProp)'}""/>
        </DataTemplate>
    </Grid.Resources>
    <ContentControl Content=""{b:DXBinding}"" ContentTemplate=""{StaticResource temp}""/>
    <ContentControl Content=""{b:DXBinding}"" ContentTemplate=""{StaticResource temp}""/>
</Grid>
";
            var    panel = BindingTestHelper.LoadXaml <Grid>(xaml);

            BindingTestHelper.VisualTest(panel, () => {
                BindingTests_a.Static(2);
                var vm            = CommandTests_a.Create();
                var tb1           = LayoutTreeHelper.GetVisualChildren(panel.Children[0]).OfType <Button>().First();
                var tb2           = LayoutTreeHelper.GetVisualChildren(panel.Children[1]).OfType <Button>().First();
                panel.DataContext = vm;
                BindingTestHelper.DoEvents(panel);
                BindingTestHelper.DoCommand(tb1);
                Assert.AreEqual(1, vm.MethodCounter);
                BindingTestHelper.DoCommand(tb2);
                Assert.AreEqual(2, vm.MethodCounter);
            });
        }
예제 #2
0
        public virtual void EventInDataTemplate()
        {
            string xaml  = @"
<Grid>
    <Grid.Resources>
        <DataTemplate x:Key=""temp"">
            <test:EventTests_visual CustomEvent=""{b:DXEvent 'Do4($test:BindingTests_a.StaticIntProp)'}""/>
        </DataTemplate>
    </Grid.Resources>
    <ContentControl Content=""{b:DXBinding}"" ContentTemplate=""{StaticResource temp}""/>
    <ContentControl Content=""{b:DXBinding}"" ContentTemplate=""{StaticResource temp}""/>
</Grid>
";
            var    panel = BindingTestHelper.LoadXaml <Grid>(xaml);

            BindingTestHelper.VisualTest(panel, () => {
                BindingTests_a.Static(2);
                var vm            = EventTests_a.Create();
                var tb1           = LayoutTreeHelper.GetVisualChildren(panel.Children[0]).OfType <EventTests_visual>().First();
                var tb2           = LayoutTreeHelper.GetVisualChildren(panel.Children[1]).OfType <EventTests_visual>().First();
                panel.DataContext = vm;
                BindingTestHelper.DoEvents(panel);
                tb1.RaiseCustomEvent();
                tb2.RaiseCustomEvent();
                Assert.AreEqual(2, vm.Do4Counter);
            });
        }