В C# есть оператор, который возвращает размер типа, занимаемый в памяти:
sizeof(float)
Его аналог в VB.NET:
Marshal.SizeOf(GetType(Single))
В C# есть оператор, который возвращает размер типа, занимаемый в памяти:
sizeof(float)
Его аналог в VB.NET:
Marshal.SizeOf(GetType(Single))
Чтобы сделать сортируемую наблюдаемую коллекцию в WPF, можно создать методы расширения для типа ObservableCollection:
Imports System.Collections.ObjectModel Imports System.Runtime.CompilerServices Module ObservableCollectionExtensions <Extension> Public Sub Sort(Of T)(ByRef collection As ObservableCollection(Of T), comparison As Comparison(Of T)) Dim sortableList = New List(Of T)(collection) sortableList.Sort(comparison) For i As Integer = 0 To sortableList.Count - 1 collection.Move(collection.IndexOf(sortableList(i)), i) Next End Sub <Extension> Public Sub Sort(Of T As IComparable)(ByRef collection As ObservableCollection(Of T)) If (collection.Count > 1) Then Dim sortableList As New List(Of T)(collection) Dim comp As Comparison(Of T) = Function(a, b) a.CompareTo(b) sortableList.Sort(comp) For i As Integer = 0 To sortableList.Count - 1 collection.Move(collection.IndexOf(sortableList(i)), i) Next End If End Sub End Module
Использование:
MyCollection.Sort(Function(a, b) a.CompareTo(b))
или просто:
MyCollection.Sort()
Чтобы изменить стиль линий сетки в WPF:
Private Sub ShowGridLines() Dim t = Type.GetType("System.Windows.Controls.Grid+GridLinesRenderer," _ & " PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35") Dim glr = Activator.CreateInstance(t) glr.GetType().GetField("s_oddDashPen", Reflection.BindingFlags.Static Or Reflection.BindingFlags.NonPublic).SetValue(glr, New Pen(Brushes.Silver, 0.2)) glr.GetType().GetField("s_evenDashPen", Reflection.BindingFlags.Static Or Reflection.BindingFlags.NonPublic).SetValue(glr, New Pen(Brushes.Silver, 0.2)) matrixGrid.ShowGridLines = True End Sub
Чтобы обновить code-behind значение значение свойства, привязанного к текстовому полю, по нажатию клавиши "Ввод" сначала в разметке XAML:
<TextBox Text="{Binding MyData}" KeyUp="UpdatePropertyTrigger" />
А далее в коде пишем обработчик:
Private Sub UpdatePropertyTrigger(sender As Object, e As KeyEventArgs) If (e.Key = Key.Enter) Then Dim tb As TextBox = CType(sender, TextBox) tb.GetBindingExpression(TextBox.TextProperty).UpdateSource() End If End Sub