Ma société est bloquée sur .Net 3.0. La tâche que j'essaie de résoudre est simple, j'ai besoin de lier la propriété IsChecked de CheckBoxResolvesCEDAR à la classe CompletesCEDARWork dans ma classe Audio. Plus je lis à ce sujet, il semble que je dois déclarer CompletesCEDARWork comme propriété de dépendance, mais je ne peux pas trouver un bon exemple de la façon dont cela est fait. J'ai trouvé cet exemple, mais quand j'ai collé dans mon code, j'obtiens une erreur "is not defined" pour GetValue et je n'ai pas réussi à comprendre ce que MyCode est supposé représenter. Toute aide/exemple serait grandement apprécié.Comment déclarer une propriété de dépendance dans VB.Net 3.0
Merci
Public Shared ReadOnly IsSpinningProperty As DependencyProperty = DependencyProperty.Register("IsSpinning", GetType(Boolean), GetType(MyCode))
Public Property IsSpinning() As Boolean
Get
Return CBool(GetValue(IsSpinningProperty))
End Get
Set(ByVal value As Boolean)
SetValue(IsSpinningProperty, value)
End Set
End Property
Voici mon Slimed vers le bas Audio Class tel qu'il est maintenant.
Imports System.Xml
Imports système Imports System.IO Imports System.Collections.ObjectModel Imports System.ComponentModel
Public Class AudioPrivate mXMLString As String
Private mTarpID As Integer
Private mStartTime As Date
Private mEndTime As Date
Private mAudioArray As Byte()
Private mFileXMLInfo As IO.FileInfo
Private mFileXMLStream As IO.FileStream
Private mFileAudioInfo As IO.FileInfo
Private mDisplayText As String
Private mCompletesCEDARWork As Boolean
Private Property CompletesCEDARWork() As Boolean
Get
Return mCompletesCEDARWork
End Get
Set(ByVal value As Boolean)
mCompletesCEDARWork = value
End Set
End Property
Et voici mon XML datatemplate où je mis la contraignant.
<DataTemplate x:Key="UploadLayout" DataType="Audio">
<Border BorderBrush="LightGray" CornerRadius="8" BorderThickness="1" Padding="10" Margin="0,3,0,0">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Path=DisplayText}">
</TextBlock>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Text="TARP ID" VerticalAlignment="Center"/>
<ComboBox x:Name="ListBoxTarpIDs"
ItemsSource="{Binding Path=TarpIds}"
SelectedValue="{Binding Path=TarpID}"
BorderBrush="Transparent"
Background="Transparent" >
</ComboBox>
</StackPanel>
<CheckBox x:Name="CheckBoxResolvesCEDAR"
Content="Resolves CEDAR Work"
IsChecked="{Binding ElementName=Audio,Path=CompletesCEDARWork,Mode=TwoWay}"/>
</StackPanel>
</Border>
</DataTemplate>
Mis en œuvre INotifyPropertyChanged et cela a fonctionné parfaitement. Je vous remercie! – user38349