Как я могу заставить StackPanel использовать ItemTemplate?

Убедитесь, что вы возвращаете действительный JSON. Если это не так, и все идет правильно на сервере, $ .ajax приведет к ошибке, а не к успеху.

 function FindContact(CompanyName,DivisionName,FirstName,LastName) {

        $.ajax({
            url: 'Path',
            dataType: "html or json",
            async:false,
            type:'post',
            data: {'FirstName':FirstName,'LastName':LastName,'DivisionName':DivisionName,'CompanyName':CompanyName},
            success: DisplayContacts,
            error: ErrorMsg
        });
    }

Чтобы проверить, является ли json действительным, достаточно просто переключить dataType на html и увидеть, что успех срабатывает. Если это так, то ваш json недействителен, если вы все еще получаете ту же проблему, что-то еще не так.

Другой способ проверить, возвращается ли действительный json, - открыть firebug и, когда запрос будет отправлен, щелкнуть по вкладке ответа, скопировать ответ и попасть на jsonlint.com, чтобы проверить, действителен ли он.

Jquery ajax docs

11
задан Dave Clemmer 2 August 2011 в 16:05
поделиться

1 ответ

ItemsControl по сути является StackPanel с ItemTemplate. Он использует внутри StackPanel.

Однако похоже, что вы пытаетесь отобразить одного клиента, а не их список (я звучу как Клиппи, не так ли?). В этом случае вы хотите использовать ContentControl:

<ContentControl 
    Content="{Binding SelectedCustomer}"
    ContentTemplate="{StaticResource CustomerTemplate}" />
42
ответ дан 3 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: