WPF通过XAML将数据生成的参数传递给方法

WPF通过XAML将数据生成的参数传递给方法,wpf,data-binding,xaml,Wpf,Data Binding,Xaml,我正在为一个Dispatch应用程序编写一个“问题解决程序” Dispatch应用程序使用英国皇家邮政局提供的软件打印标签。根据英国皇家邮政的有效地址数据库,该软件确保标签上的地址是“正确的”,它以字母数字和条形码格式呈现可跟踪代码,并自动向我们公司收取通过系统发送的安全邮件的账单,而无需做很多书面工作 是后一个“特性”导致了问题。如果由于a)客户在国外,我们不向其发送邮件,或b)两份订单是针对同一地址的同一人,因此打印了标签但不需要,我们希望在前一种情况下不打印标签,或在后一种情况下打印其中一

我正在为一个Dispatch应用程序编写一个“问题解决程序”

Dispatch应用程序使用英国皇家邮政局提供的软件打印标签。根据英国皇家邮政的有效地址数据库,该软件确保标签上的地址是“正确的”,它以字母数字和条形码格式呈现可跟踪代码,并自动向我们公司收取通过系统发送的安全邮件的账单,而无需做很多书面工作

是后一个“特性”导致了问题。如果由于a)客户在国外,我们不向其发送邮件,或b)两份订单是针对同一地址的同一人,因此打印了标签但不需要,我们希望在前一种情况下不打印标签,或在后一种情况下打印其中一份

乡村生活很简单。如果一个客户真的在另一个国家,你只是不把它包括在发送到皇家邮政应用程序进行处理的客户列表中(但有些客户使用鼠标滚轮很方便,当他们真的来自班伯里时,最后假装来自阿拉伯联合酋长国)然而,“重复邮政编码”问题要麻烦得多

在英国,如果两个人住在同一条街上,他们将拥有相同的邮政编码。所以很明显,如果同一条街上有两个人想要什么东西,你必须打印两个标签。同样,如果两兄弟住在同一个地址,我们希望确保两兄弟都收到各自的邮件(在这种情况下,邮政编码、门牌号和姓氏都将匹配)。但是,如果另一位先生的同一地址存在两份订单,则另一位先生应只需要一个标签,并且其发货可以合并

信不信由你,我们确实遇到过这样的情况:一个其他人点了两次菜,同一条街上的另一个家伙也点了一些菜。在这种情况下,问题解决程序需要让用户决定打印多少标签,而不仅仅是将预定义字段调整为其他已知值

为了在UI中对这种情况进行建模,我创建了一个带有动态数据模板的列表框,该列表框允许人们直接包括/不包括有国家问题的人,但在邮政编码问题的情况下,它会显示一个水平对齐的列表框,其中应包括具有相同邮政编码的所有订单

这就是我所能做到的:

   <DataTemplate x:Key="postcodeTemplate">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Label Grid.Row="0">This Order's Postcode matches the postcode of another order. Choose what to do.</Label>
                <RadioButton>Send all.</RadioButton>
                <RadioButton>Send this one only.</RadioButton>
                <ListBox Grid.Row="0" Grid.Column="1" Grid.RowSpan="2">
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel
                                Orientation="Horizontal"
                                IsItemsHost="true" />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                </ListBox>
            </Grid>
        </DataTemplate>

此订单的邮政编码与另一订单的邮政编码匹配。选择要做的事情。
全部发送。
只发送这个。

如何将当前客户的邮政编码(包含在一个可观察的集合中)传递给一个方法,该方法将返回同一邮政编码的客户列表,然后显示在最终列表框中?

看起来我将不得不使用更古老的方法完全重写我的窗口。。。真烦人。

有人吗?我没想到这会是一件大事。