Я делаю программу управления недвижимостью и на главной странице у меня есть все свойства, перечисленные что-то вроде этого в WrapPanel
:WrapPanel ItemsControl Ссылаясь на отдельные элементы из оригинальной коллекции
Теперь, хотя каждое из свойств точно такое же, что только для демонстрации и тестирования с несколькими свойствами. Каждое из свойств является другой Property
объект внутри от ObservableCollection собственности (извините за путаницу имен), как показано на моей C# код ниже:
public ObservableCollection<Property> Properties { get; set; }
// ...
Property defaultProperty = new Property(/*Lots of Stuff*/);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
properties.Add(defaultProperty);
Properties = properties;
Эти свойства (часть Свойствами (извините еще раз)) затем показаны через ItemsControl, который показан ниже:
<ItemsControl x:Name="wPanel" ItemsSource="{Binding Properties}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel x:Name="PropertyPanel" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Margin="5,5,5,5" BorderBrush="Red" BorderThickness="1" HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid MinWidth="350" MouseLeftButtonUp="Grid_MouseLeftButtonUp">
// Column and Row Definitions
// ...
// Three other corners of the grid
<StackPanel Grid.Row="1" Grid.Column="1" VerticalAlignment="Bottom">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5,5,5,0" MouseLeftButtonDown="IssuesPanel_MouseLeftButtonDown" > // <-- This is the part I'm trying to get to work
<TextBlock Text="{Binding IssuesNum}" VerticalAlignment="Center"/>
<TextBlock Text=" Issues " VerticalAlignment="Center"/>
<Image VerticalAlignment="Center">
<Image.Source>
<BitmapImage UriSource="/VentureVisions;component/warning.png" DecodePixelWidth="18" />
</Image.Source>
</Image>
</StackPanel>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Я вынул те части, которые не важны для этого. Я пытаюсь открыть окно о проблемах свойства, когда пользователь нажимает на панель проблем в правом нижнем углу. У меня настроено событие, но мне нужно получить объект Property, чтобы получить из него коллекцию проблем, чтобы отображать его в окне. Я надеюсь в этом есть смысл. Комментарий, если сейчас. Но как я могу узнать, как ссылаться на конкретное свойство, с которым пользователь взаимодействует после нажатия кнопки? Спасибо.
Не знаете ли вы, как это сделать, не используя терминологию mvvm? Я имею в виду понять это и посмотреть на него, но я пока не использовал его в этом проекте, и поэтому ... было бы неплохо, если бы я мог сохранить его так, как есть. –
Я немного оглянулся и нашел одну из страниц, которые у вас были. Мне потребовалось некоторое время, чтобы понять, как он вписывается в мою проблему. Но это было так. Благодарю. –