PropertyMap 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Windows Forms 컨트롤과 WPF(Windows Presentation Foundation) 요소 간에 속성 값을 변환하는 방법을 제공합니다.
public ref class PropertyMap
public class PropertyMap
[System.Security.SecurityCritical]
public class PropertyMap
type PropertyMap = class
[<System.Security.SecurityCritical>]
type PropertyMap = class
Public Class PropertyMap
- 상속
-
PropertyMap
- 특성
예제
다음 코드 예제에서는 컨트롤에 속성에 대 한 매핑을 Margin 추가 하는 방법을 보여 있습니다 ElementHost .
// The AddMarginMapping method adds a new property mapping
// for the Margin property.
private void AddMarginMapping()
{
elemHost.PropertyMap.Add(
"Margin",
new PropertyTranslator(OnMarginChange));
}
// The OnMarginChange method implements the mapping
// from the Windows Forms Margin property to the
// Windows Presentation Foundation Margin property.
//
// The provided Padding value is used to construct
// a Thickness value for the hosted element's Margin
// property.
private void OnMarginChange(object h, String propertyName, object value)
{
ElementHost host = h as ElementHost;
Padding p = (Padding)value;
System.Windows.Controls.Button wpfButton =
host.Child as System.Windows.Controls.Button;
Thickness t = new Thickness(p.Left, p.Top, p.Right, p.Bottom );
wpfButton.Margin = t;
}
' The AddMarginMapping method adds a new property mapping
' for the Margin property.
Private Sub AddMarginMapping()
elemHost.PropertyMap.Add( _
"Margin", _
New PropertyTranslator(AddressOf OnMarginChange))
End Sub
' The OnMarginChange method implements the mapping
' from the Windows Forms Margin property to the
' Windows Presentation Foundation Margin property.
'
' The provided Padding value is used to construct
' a Thickness value for the hosted element's Margin
' property.
Private Sub OnMarginChange( _
ByVal h As Object, _
ByVal propertyName As String, _
ByVal value As Object)
Dim host As ElementHost = h
Dim p As Padding = CType(value, Padding)
Dim wpfButton As System.Windows.Controls.Button = host.Child
Dim t As New Thickness(p.Left, p.Top, p.Right, p.Bottom)
wpfButton.Margin = t
End Sub
다음 코드 예제에서는 컨트롤의 속성에 대 한 기본 매핑을 FlowDirection 대체 하는 방법을 보여 있습니다 WindowsFormsHost .
// The ReplaceFlowDirectionMapping method replaces the
// default mapping for the FlowDirection property.
private void ReplaceFlowDirectionMapping()
{
wfHost.PropertyMap.Remove("FlowDirection");
wfHost.PropertyMap.Add(
"FlowDirection",
new PropertyTranslator(OnFlowDirectionChange));
}
// The OnFlowDirectionChange method translates a
// Windows Presentation Foundation FlowDirection value
// to a Windows Forms RightToLeft value and assigns
// the result to the hosted control's RightToLeft property.
private void OnFlowDirectionChange(object h, String propertyName, object value)
{
WindowsFormsHost host = h as WindowsFormsHost;
System.Windows.FlowDirection fd = (System.Windows.FlowDirection)value;
System.Windows.Forms.CheckBox cb = host.Child as System.Windows.Forms.CheckBox;
cb.RightToLeft = (fd == System.Windows.FlowDirection.RightToLeft ) ?
RightToLeft.Yes : RightToLeft.No;
}
// The cb_CheckedChanged method handles the hosted control's
// CheckedChanged event. If the Checked property is true,
// the flow direction is set to RightToLeft, otherwise it is
// set to LeftToRight.
private void cb_CheckedChanged(object sender, EventArgs e)
{
System.Windows.Forms.CheckBox cb = sender as System.Windows.Forms.CheckBox;
wfHost.FlowDirection = ( cb.CheckState == CheckState.Checked ) ?
System.Windows.FlowDirection.RightToLeft :
System.Windows.FlowDirection.LeftToRight;
}
' The ReplaceFlowDirectionMapping method replaces the
' default mapping for the FlowDirection property.
Private Sub ReplaceFlowDirectionMapping()
wfHost.PropertyMap.Remove("FlowDirection")
wfHost.PropertyMap.Add( _
"FlowDirection", _
New PropertyTranslator(AddressOf OnFlowDirectionChange))
End Sub
' The OnFlowDirectionChange method translates a
' Windows Presentation Foundation FlowDirection value
' to a Windows Forms RightToLeft value and assigns
' the result to the hosted control's RightToLeft property.
Private Sub OnFlowDirectionChange( _
ByVal h As Object, _
ByVal propertyName As String, _
ByVal value As Object)
Dim host As WindowsFormsHost = h
Dim fd As System.Windows.FlowDirection = _
CType(value, System.Windows.FlowDirection)
Dim cb As System.Windows.Forms.CheckBox = host.Child
cb.RightToLeft = IIf(fd = System.Windows.FlowDirection.RightToLeft, _
RightToLeft.Yes, _
RightToLeft.No)
End Sub
' The cb_CheckedChanged method handles the hosted control's
' CheckedChanged event. If the Checked property is true,
' the flow direction is set to RightToLeft, otherwise it is
' set to LeftToRight.
Private Sub cb_CheckedChanged( _
ByVal sender As Object, _
ByVal e As EventArgs)
Dim cb As System.Windows.Forms.CheckBox = sender
wfHost.FlowDirection = IIf(cb.CheckState = CheckState.Checked, _
System.Windows.FlowDirection.RightToLeft, _
System.Windows.FlowDirection.LeftToRight)
End Sub
설명
클래스를 PropertyMap 사용하여 하이브리드 애플리케이션에서 Windows Forms 속성과 WPF(Windows Presentation Foundation) 속성 간의 변환을 정의합니다. 및 WindowsFormsHost.PropertyMapWindowsFormsHost 클래스의 ElementHost 속성은 ElementHost.PropertyMap 한 기술에서 다른 기술로의 매핑을 정의합니다.
자세한 내용은 연습: ElementHost 컨트롤 및 연습을 사용하여 속성 매핑: WindowsFormsHost 요소를 사용하여 속성 매핑을 참조하세요.
생성자
| Name | Description |
|---|---|
| PropertyMap() |
PropertyMap 클래스의 새 인스턴스를 초기화합니다. |
| PropertyMap(Object) |
지정된 소스 개체를 사용하여 클래스의 PropertyMap 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| DefaultTranslators |
기본적으로 정의된 속성 매핑의 컬렉션을 가져옵니다. |
| Item[String] |
지정된 속성의 대리자를 PropertyTranslator 가져오거나 설정합니다. |
| Keys |
컬렉션의 ICollection 속성 이름을 포함하는 개체를 PropertyMap 가져옵니다. |
| SourceObject |
변환할 속성이 있는 개체를 가져옵니다. |
| Values |
컬렉션의 ICollection 속성 변환기를 PropertyMap 포함하는 값을 가져옵니다. |
메서드
| Name | Description |
|---|---|
| Add(String, PropertyTranslator) |
PropertyTranslator 지정된 속성PropertyMap에 대한 대리자를 에 추가합니다. |
| Apply(String) |
원본 개체의 현재 속성 값에 따라 지정된 속성에 대한 속성 변환기를 실행합니다. |
| ApplyAll() |
원본 개체의 현재 속성 값에 따라 매핑된 각 속성에 대한 속성 변환기를 실행합니다. |
| Clear() |
모든 속성 매핑을 제거합니다. |
| Contains(String) |
지정된 속성이 매핑되는지 여부를 나타내는 값을 가져옵니다. |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| Remove(String) |
매핑에서 지정된 속성을 삭제합니다. |
| Reset(String) |
지정된 속성에 대한 기본 속성 매핑을 복원합니다. |
| ResetAll() |
기본 속성 매핑을 복원합니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
이벤트
| Name | Description |
|---|---|
| PropertyMappingError |
속성 변환기에서 예외가 발생할 때 발생합니다. |