Ahoj, mám problém s Bootstrap 5 ModalDialog.
Potřeboval bych tam nějaký event Closed při zavření dialogu, abych na to mohl navázat staticCommand. Jinak nemůžu použít CloseOnBackdropClick, CloseOnEscape a výchozí AddCloseButton.
Nyní se při zavření dialogu jen sama nastaví hodnota vlastnosti IsDisplayed na false, to ale funguje pouze při použití s bool property. Pokud bych použil binding např. IsDisplayed=“{value: ZboziInfo != null}”, tak na close potřebuji dělat ZboziInfo = null apod.
V mém případě jsem si zatím close button udělal vlastní, ale ten backdrop click a ESC jsem musel vypnout. A při zavření potřebuji volat ZboziInfo = null i když použiji bool vlastnost na IsDisplayed. Kód vypadá takto:
<bs:ModalDialog DataContext="{value: ZboziInfoViewModel}" IsDisplayed="{value: IsZboziInfoDisplayed}" UseBackdrop="true" AddCloseButton="false" CloseOnBackdropClick="false" CloseOnEscape="false" Size="XLarge">
<HeaderTemplate>
<span>Detail zboží</span>
<dot:button class="btn-close" Click="{staticCommand: IsZboziInfoDisplayed = false; ZboziInfo = null}" />
</HeaderTemplate>
<Content>
...
</Content>
<FooterTemplate>
<bs:Button Text="Close" Click="{staticCommand: IsZboziInfoDisplayed = false; ZboziInfo = null}" />
</FooterTemplate>
</bs:ModalDialog>
Potřeboval bych něco jako:
<bs:ModalDialog DataContext="{value: ZboziInfoViewModel}" IsDisplayed="{value: ZboziInfo != null}" UseBackdrop="true" AddCloseButton="true" CloseOnBackdropClick="true" CloseOnEscape="true" Size="XLarge" Closed="{staticCommand: ZboziInfo = null}">
<HeaderTemplate>
<span>Detail zboží</span>
</HeaderTemplate>
<Content>
...
</Content>
<FooterTemplate>
<bs:Button Text="Close" Click="{staticCommand: ZboziInfo = null}" />
</FooterTemplate>
</bs:ModalDialog>
Díky