-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTwoWayView.xaml
More file actions
58 lines (58 loc) · 3.49 KB
/
TwoWayView.xaml
File metadata and controls
58 lines (58 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<UserControl x:Class="DXBindingExample.View.TwoWayView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:v="clr-namespace:DXBindingExample.View"
xmlns:vm="clr-namespace:DXBindingExample.ViewModel"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="800"
d:DataContext="{dxmvvm:ViewModelSource vm:TwoWayViewModel}">
<StackPanel Orientation="Vertical">
<StackPanel Style="{StaticResource groupPanelStyle}">
<TextBlock Text="Example #1" Style="{StaticResource headerDescriptionStyle}"/>
<TextBlock Style="{StaticResource descriptionStyle}">
DXBinding Expr: 'FirstName + ` ` + LastName'.
<LineBreak/>
DXBinding BackExpr: 'FirstName = @v.Split(` `[0])[0]; LastName = @v.Split(` `[0])[1];'.
</TextBlock>
<StackPanel Orientation="Vertical">
<TextBlock Text="FirstName: "/>
<TextBox Text="{DXBinding FirstName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource valueStyle}"/>
<TextBlock Text="LastName: "/>
<TextBox Text="{DXBinding LastName, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource valueStyle}"/>
<TextBlock Text="FullName: "/>
<TextBox
Text="{DXBinding
Expr='FirstName + ` ` + LastName',
BackExpr='FirstName = @v.Split(` `[0])[0]; LastName = @v.Split(` `[0])[1];',
FallbackValue='', Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource valueStyle}"/>
</StackPanel>
</StackPanel>
<StackPanel Style="{StaticResource groupPanelStyle}">
<TextBlock Text="Example #2" Style="{StaticResource headerDescriptionStyle}"/>
<TextBlock Style="{StaticResource descriptionStyle}">
Function: int Sum(int x, int y) { return x + y; }
<LineBreak/>
DXBinding Expr: 'Sum($int.Parse(@e(x).Text), $int.Parse(@e(y).Text))'.
<LineBreak/>
DXBinding BackExpr: '@e(x).Text = $int.Parse(@v); @e(y).Text = 0;'.
</TextBlock>
<StackPanel Orientation="Vertical">
<TextBlock Text="X: "/>
<TextBox x:Name="x1" Text="1" Style="{StaticResource valueStyle}"/>
<TextBlock Text="Y: "/>
<TextBox x:Name="y1" Text="2" Style="{StaticResource valueStyle}"/>
<TextBlock Text="Res: "/>
<TextBox
Text="{DXBinding
Expr='Sum($int.Parse(@e(x1).Text), $int.Parse(@e(y1).Text))',
BackExpr='@e(x1).Text = $int.Parse(@v); @e(y1).Text = 0;',
FallbackValue=0, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource valueStyle}"/>
</StackPanel>
</StackPanel>
</StackPanel>
</UserControl>