La règle (InkPresenterRuler
) dans la barre d'encre ne s'affiche pas correctement lorsque le InkCanvas
est un enfant du Viewbox
.Comment afficher InkCanvas dans Viewbox avec règle dans inktoolbar
Quelqu'un a-t-il une idée de comment le réparer?
La règle (InkPresenterRuler
) dans la barre d'encre ne s'affiche pas correctement lorsque le InkCanvas
est un enfant du Viewbox
.Comment afficher InkCanvas dans Viewbox avec règle dans inktoolbar
Quelqu'un a-t-il une idée de comment le réparer?
Après des heures d'essayer et d'erreurs, c'est ce que j'ai mais je ne pouvais pas obtenir l'affichage de la règle dans une direction diagonale.
private void ResizeInkRuler() {
var viewBoxWidth = ImageViewBox.ActualWidth;
var viewBoxHeight = ImageViewBox.ActualHeight;
var widthIsGreater = viewBoxWidth.CompareTo(viewBoxHeight) > 0;
var scaleFactor = widthIsGreater ? InkImage.ActualWidth/viewBoxWidth : InkImage.ActualHeight/viewBoxHeight;
var length = widthIsGreater ? viewBoxWidth : viewBoxHeight;
ruler.Transform = Matrix3x2.CreateScale((float) scaleFactor);
ruler.Length = length;
}
Pourriez-vous préciser comment exactement la règle ne s'affiche pas correctement pour vous (peut-être fournir une capture d'écran et un extrait XAML)? J'ai fait une démo rapide de votre scénario et la règle s'affiche correctement pour moi (tout est agrandi de 200% comme prévu).
<Grid Background="Black">
<Viewbox Width="600" Height="600">
<Grid Width="300" Height="300" Background="White">
<InkCanvas x:Name="inkCanvas"/>
<InkToolbar TargetInkCanvas="{x:Bind inkCanvas}" VerticalAlignment="Top"/>
</Grid>
</Viewbox>
</Grid>
Merci Décennie, savez-vous comment je peux redimensionner à sa taille d'origine? – Jennifer