Cześć , szukam pomocy w znalezieniu gdzie popełniłem błąd . Jest klasa która serwuję listę z danymi dla ListBoxa . Całość jest realizowana przy pomocy wiązań (binding) . Program się kompiluje , uruchamia bez błędów .Szkopuł w tym że wynik działania jest co najmniej dziwny ,Treść trafia do listboxa ale jej nie widać . Kod i wynik działania programu poniżej . Ktoś ,coś oświeci człowieka :)
using NetFrameworkInstallerWPF.AppModel;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace NetFrameworkInstallerWPF.VievModel
{
internal abstract class _viewwmodelbase : INotifyPropertyChanged
{
#region Property Changed Event Handler
public void SetPropertyChanged(string propertyName)
{
if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
public event PropertyChangedEventHandler PropertyChanged;
#endregion Property Changed Event Handler
}
internal struct _etaps
{
internal string msg;
}
internal class _viewmodel:_viewwmodelbase
{
private _appmodel AppModel;
private ObservableCollection<_etaps> ocstages;
public _viewmodel()
{
if (AppModel == null) { AppModel = new _appmodel(); }
if (ocstages == null) { ocstages=new ObservableCollection<_etaps>(); }
ocstages.Add(new _etaps() { msg = "Przykładowy tekst" });
SetPropertyChanged(nameof(lbox));
}
public ObservableCollection<_etaps> lbox
{
get
{
return ocstages;
}
}
}
}
```csharp
<Window x:Class="NetFrameworkInstallerWPF.MainWindow"
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"
xmlns:local="clr-namespace:NetFrameworkInstallerWPF"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vm="clr-namespace:NetFrameworkInstallerWPF.VievModel"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="300">
<Window.DataContext>
<vm:_viewmodel/>
</Window.DataContext>
<Grid Margin="5,5,5,5" HorizontalAlignment="Center" VerticalAlignment="Center">
<ListBox ItemsSource="{Binding lbox}" HorizontalAlignment="Center" Height="370" Margin="10,10,10,10" VerticalAlignment="Center" Width="227">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding msg}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
- screenshot-20200510130104.png (26 KB) - ściągnięć: 29