Files
2026-04-17 14:55:32 -04:00

2.6 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/Modules/Channels/ChannelCodes/View/ChannelCodesListView.xaml.cs
2026-04-17T16:01:12.024561+00:00 zai-org/GLM-5-FP8 1 765fffde6c4125b2

ChannelCodesListView Documentation

1. Purpose

This module is a WPF code-behind view component for managing channel codes within the system. It provides the interaction logic for ChannelCodesListView.xaml, handling user interactions for two distinct lists: ISO channel codes and User-defined channel codes. The view supports filtering, sorting, selection tracking, and modification marking, delegating all business logic to an IChannelCodesListViewModel via data binding.


2. Public Interface

Class: ChannelCodesListView

Implements: IChannelCodesListViewModel

Member Signature Description
Constructor public ChannelCodesListView() Initializes the view component via InitializeComponent().

Private Event Handlers (wired to XAML)

Method Event Context Behavior
GridViewColumnHeaderSearchable_OnSearch Search event on GridViewColumnHeaderSearchable Extracts search term from e.OriginalSource and column tag from sender, calls viewModel.Filter(columnTag, searchTerm).
GridViewColumnHeader_OnClick Click on column header Extracts column tag and calls vm.Sort(columnTag, true). Uses Utils.FindChild<T> as fallback for tag resolution.
ChannelCodeTextBox_KeyDown Key down on channel code text box Extracts IChannelCode from e.Source DataContext, calls vm.MarkModified(channelCode).
ChannelCodeTextBoxUser_TextChanged Text changed on user channel code Calls vm.MarkModified(channelCode) and vm.ValidateUser(ref notUsed1, ref notUsed2).
ChannelCodeTextBoxIso_TextChanged Text changed on ISO channel code Calls vm.MarkModified(channelCode) and vm.ValidateISO(ref notUsed1, ref notUsed2).
DisplayNameTextBox_KeyDown Key down on display name Calls vm.MarkModified(channelCode).
DisplayNameTextBoxUser_TextChanged Text changed on user display name Calls vm.MarkModified(channelCode) and vm.ValidateUser(ref notUsed1, ref notUsed2).
DisplayNameTextBoxIso_TextChanged Text changed on ISO display name Calls vm.MarkModified(channelCode) and vm.ValidateISO(ref notUsed1, ref notUsed2).
ISO_Checked ISO radio button checked Sets vm.ViewMode = ChannelCodesListViewModel.ViewModes.ISO.
User_Checked User radio button checked Sets `vm.ViewMode = Channel