- 리소스를 사용해서 값을 지정하고 이를 사용
    - {Binding Source={StaticResource 클래스}}





이전에 실습했던 "RiaSimpleBinding"파일을 복사하여, 원본 파일인 "RiaSimpleBinding" 파일은 따로 보관하고, 복사한 "RiaSimpleBinding"파일은 "리소스를 사용한 바인딩" 실습을 하기 위해 폴더명만 "RiaBindingSource"로 수정하여 실습한다. 그리고 여기서는 코드비하인드페이지인 "MainPage.xaml.cs" 에서 작성했던 코드부분은 아래와 같이 주석처리하였다.





[MemoEntity.cs]


using System;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Ink;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

 

namespace RiaSimpleBinding

{

    public class MemoEntity

    {

        public int Num { get; set; }

        public string Name { get; set; }

        public DateTime PostDate { get; set; }

    }

}

 

 






[MainPage.xaml.cs]


using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

 

namespace RiaSimpleBinding

{

    public partial class MainPage : UserControl

    {

        public MainPage()

        {

            InitializeComponent();

 

            this.Loaded += new RoutedEventHandler(MainPage_Loaded);

        }

 

        void MainPage_Loaded(object sender, RoutedEventArgs e)

        {

            //// Memo 데이터 한개 바인딩

            //MemoEntity me = new MemoEntity() { Num = 1, Name = "홍길동", PostDate = DateTime.Now };

            ////[1] 컨트롤에 직접 바인딩

            //this.lblNum.Text = me.Num.ToString();

            ////[2] XAML 바인딩식을 사용해서 바인딩

            //this.LayoutRoot.DataContext = me;

        }

    }

}

 

 







[MainPage.xaml]


<UserControl x:Class="RiaSimpleBinding.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d"

    d:DesignHeight="300" d:DesignWidth="400"

 

    xmlns:me="clr-namespace:RiaSimpleBinding"

 

    >

    <Grid x:Name="LayoutRoot" Background="White">

        <Grid.Resources>

            <me:MemoEntity x:Key="memo" Num="2" Name="백두산" />

        </Grid.Resources>

        <StackPanel>

            <TextBlock Text="직접 바인딩" />

            <TextBlock x:Name="lblNum" Text="{Binding Source={StaticResource memo}, Path=Num}" />

            <TextBlock Text="XAML 바인딩" />

            <TextBlock Text="{Binding Source={StaticResource memo}, Path=Name}" />           

        </StackPanel>

    </Grid>

</UserControl>

 

 

















Posted by holland14
: