Visual Basic .NET Language
WPF XAML डेटा बाइंडिंग
खोज…
परिचय
यह उदाहरण दिखाता है कि MVMM पैटर्न और WPF के भीतर एक ViewModel और एक व्यू कैसे बनाया जाए, और दोनों को एक साथ कैसे बांधा जाए, ताकि प्रत्येक को अपडेट किया जाए जब भी दूसरा बदल जाए।
ViewModel में एक पाठ बॉक्स में एक स्ट्रिंग को देखने में बांधना
SampleViewModel.vb
'Import classes related to WPF for simplicity
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Public Class SampleViewModel
Inherits DependencyObject
'A class acting as a ViewModel must inherit from DependencyObject
'A simple string property
Public Property SampleString as String
Get
Return CType(GetValue(SampleStringProperty), String)
End Get
Set(ByVal value as String)
SetValue(SampleStringProperty, value)
End Set
End Property
'The DependencyProperty that makes databinding actually work
'for the string above
Public Shared ReadOnly SampleStringProperty As DependencyProperty = _
DependencyProperty.Register("SampleString", _
GetType(String), GetType(SampleViewModel), _
New PropertyMetadata(Nothing))
End Class
wpfdp
कोड स्निपेट (टाइप wpfdp
, फिर TAB
कुंजी को दो बार दबाएं) का उपयोग करके आसानी से एक डिपेंडेंसीप्रॉपर्टी जोड़ी जा सकती है, हालांकि, कोड स्निपेट सुरक्षित नहीं है, और Option Strict On
तहत wpfdp
नहीं करेगा।
SampleWindow.xaml
<Window x:Class="SampleWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:des="http://schemas.microsoft.com/expression/blend/2008"
DataContext="{Binding}"
Loaded="Window_Loaded">
<Grid>
<TextBox>
<TextBox.Text>
<Binding Path="SampleString" />
</TextBox.Text>
</TextBox>
</Grid>
</Window>
SampleWindow.xaml.vb
Class SampleWindow
Private WithEvents myViewModel As New SampleViewModel()
Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
Me.DataContext = myViewModel
End Sub
End Class
ध्यान दें कि MVVM और डेटाबाइंडिंग को लागू करने के लिए यह एक बहुत ही अल्पविकसित तरीका है। एक अधिक मजबूत अभ्यास यूनिटी जैसे मंच का उपयोग करके ViewModel को व्यू में "इंजेक्ट" किया जाएगा।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow