2009-06-15 14 views
5

To jest stary problem interaktywnych elementów wewnątrz elementów interaktywnych, ale chcę, aby obiekt ScatterViewItem zawierał inne elementy powierzchniowe, takie jak SurfaceButton lub SurfaceCheckBox. Mam tam wszystkie moje elementy i reagują na dotknięcia itp. Problem polega na tym, że normalnie uzyskuję ScatterView po kliknięciu obszaru, który nie zawiera kontrolki.ScatterViewItems zawierające elementy interaktywne powierzchni

Czy istnieje eleganckie rozwiązanie umożliwiające przeciąganie, nawet gdy kontakt znajduje się na SurfaceButton lub SurfaceCheckbox?

np.

<s:ScatterView >  
    <Grid Width="200" Height="200"> 
     <s:SurfaceButton /> 
    </Grid> 
</s:ScatterView> 

Odpowiedz

1

Po zadaje to samo pytanie na forum społeczności powierzchniowych, odpowiedź była, że ​​jest to zgodne z wszystkimi zachowanie kontroli WPF. Na przykład, jeśli dodasz elementy interaktywne do pola listy, ListBox nie zareaguje na interakcje, gdy mysz znajdzie się nad przyciskiem.

Jeśli ktoś inny natknie się na ten problem, prawdopodobnie najlepiej jest rozwiązać ten problem poprzez zaprojektowanie kontroli, zamiast próbować zhakować to zachowanie. Zachowanie kontroli powinno pozostać spójne z jednej aplikacji do drugiej i jednej kontroli do drugiej.

+0

to był wiek i nadal nie ma dalszych postów. Oznaczyłem to jako odpowiedź na razie, ale jeśli ktoś w przyszłości doda lepszą odpowiedź, zmienię ją;) –

+0

Chciałbym, żeby ktoś zagłębił się w to dalej. To całkiem naturalne, że elementy interaktywne są ze sobą powiązane. –

0

Możesz "zhakować" to zachowanie, nasłuchując zdarzeń ContactLeave na jednym z elementów sterujących podrzędnych i wywołując contact.Capture (scatterviewitem). dzięki temu svi przejmie słuchanie i kontakt z kontaktem. jednak jego działanie będzie niezgodne z innymi częściami powierzchni i może być mylące. jest niespójne nawet ze sobą ... umożliwia to przejście z kontroli wewnętrznej do SVI bez podnoszenia palca, ale użytkownik wciąż musi podnieść palec, aby przełączyć się z powrotem do kontroli wewnętrznej.

Powiązane problemy